Last Notes
I believe codeberg was mentioned, but he can confirm this
Just zapped you from my ecash wallet
I’ve done nothing productive this weekend. And I don’t even feel bad 🤣
I keep an instance open on my desktop and works great to sync on mobile. Was having some issues when on mobile only.
many parents make this mistake
You Can’t Define Me
When I was younger, I learned an important lesson: you can’t put your expectations of yourself on me. I am who I am, and you will never make me feel bad for it. Your reactions to me won’t dictate my own. If any part of who I am is disrespectful or crosses basic boundaries, I will check myself. But remember, we are individuals.
So, if you think I lack balance or that I’m too much or too little of something, just keep it to yourself. It’s all love, bro.
Don’t blend in. Stay in your lane. There’s no traffic in your lane!
Yeah...the issue is the sustainability of Nostr and the actual user base. If there were more than a 1% user retention, maybe I'd be here more. However, when there's 1.5 million users and only 15k active, it leaves a lot to be desired. I've literally been trying to give away money and nobody is engaging with the post...🤦♂️
just tested with a friends phone on the same WiFi and the chat loaded locally instantly, even the large files (700MB size)
#keet is cool! It has no servers, the room participants are the seeds, so it actually scales well to large groups.
Appreciate the thoughtful reply. My takeaway is that Keet is more decentralized (P2P) while Simplex has stronger privacy?
Might be a good topic of conversation on your podcast.
Currently using Keet with family and friends.
Cheers!
Huge thanks to SimpleX's developer for coming through for the event!
Here's what he shared with us about the future of @npub1exv…d828:
-Moving off Github this year
-Flatpak support is coming very soon, like 1 week
-iPad Support this year
-Group chat on-board with 2-3 other users will eliminate the need for the admin to be online
-Will be getting rid of the "connecting" on initial sync and increase speed of on-boarding
With the new feature to hide IPs, the user is first sending it to a server they trust, which passes it to the other server. How do users know who to trust?
The app will soon be able to differentiate infrastructure operators in these ways:
-several preset providers in the app next year
-operators can self-identify with certs, it's optional - this year
-using servers of people you are friends with or know - very soon
-A user asked about a directory - but it is not coming due to privacy and trust concerns it would create
To make the network financially sustainable and provide the commercial incentive to the operators they are designing the concept of "infrastructure vouchers" that are planned for 2026.
These vouchers will:
-Will be on a private blockchain maintained by the approved operators together with the app developer(s)
-Work like gift cards, except:
-Vouchers won't be transferable from 1 user to another
-No refunds
-No wallet
-Stays in-app
-Can't be used as external money to avoid compliance requirements
-One can buy vouchers with Monero (or other cryptocurrencies), as long as XMR remains legal
-Government fiat can be used
-Voucher sellers may be different than server operators (collectors)
-It won't be just the SimpleX team selling vouchers, some decentralization
Here's more details on his commercial model:
https://github.com/simplex-chat/simplex-chat/blob/stable/docs/rfcs/2024-04-26-commercial-model.md
And if you haven't already seen the new version with slick UI, head over to https://simplex.chat
It’s not that I dislike it in favor of here, it’s just that all of the warm and fuzzy feelings from using a different platform have left, winch allows you to see the big picture a bit clearer.
The fediverse is/was well intentioned but still has some of the same qualities as the platform I just left. The main one obviously being that you are still censored by instance admins. Granted, running your own instance, if it’s sustainable, removes one aspect of that, but does nothing when it comes to other instances.
I don’t think you should be exposed to undesirable individuals, but at the same time, they have the same rights as anyone else.
Nostr, so far, seems to be the first platform that addresses these issues. You are completely free to say what you will, but everyone else is also free to not listen to it.
Putting the power to choose back in the users hands rather than strip power away, will always be a more welcomed option.
Then there’s the sustainability, which is a whole other story.
The game theory of #kaspa in relation to #bitcoin:
https://youtu.be/ccuEl-dCcII?si=Ef0YEKCXG4DLTxLK
Perfect treat! #Bitcoin
https://f005.backblazeb2.com/file/nostr-beaware/AI/beaware.live_Bitcoin_mocha_15765421-26c0-46e5-9280-9da3955d3b55.png
https://f005.backblazeb2.com/file/nostr-beaware/AI/IMG_8967.PNG
#Plebchain
lnbc44440n1pngpm0upp5689ylyy6jan7a906d5e4qa50crugrth4kewy0sfe5skrqy8mt0aqdp9wdshgueqvehhygr4deh5qurjd9kkzmpwdejhgcqzzsxqrrs0sp5cjfva09duu3nvvrmwm9kw5flmcdjeakrj9wvr5ktva3jwvhdtdqs9qyyssqcsvjrlhsn8n5jae2gueh7d96glc825l8qvvujcydxsa67eszkfdh6dqr9lu9wzhys0wg7vmfw30xas6h5rhpd2fd4qcdwf86xd3ywnsp9sc92h
Keet = no setup networking, direct P2P
Simplex = use relays, or setup your own server
Simplex has better metadata privacy design just because that is something it specifically targeted. While something like Keet is just trying to remove central servers and third parties all together. Keet avoids bandwidth bottlenecks for files too since it’s direct P2P. Not sure about Sinplex there and relays.
The reason I would lean toward Keet is simply that you won’t really need to explain to people how to use it. You just share links and join rooms. Encrypted, P2P, no servers, and all that good stuff by default and without any networking confusion.
Simplex would probably be better if you are trying to get more robust network layer privacy, but I would only share it with people who are technically inclined generally.
(Also only have a vague understanding of Simplex design, so if anyone can point out a mistake I invite you to join)
The reason I'm there is because I want to be able to interact with accounts for major game companies and such and I know Nostr won't let me do that. Also, I have my own instance so...🤷♂️it's mine.
https://f005.backblazeb2.com/file/nostr-beaware/AI/IMG_7265.MP4
Don't forget your daily dose! #Nostr #Bitcoin
https://f005.backblazeb2.com/file/nostr-beaware/AI/IMG_8965.PNG
https://f005.backblazeb2.com/file/nostr-beaware/AI/IMG_8966.PNG
With a pinch of bugs as spice?
https://f005.backblazeb2.com/file/nostr-beaware/Memes/IMG_8964.PNG
https://f005.backblazeb2.com/file/nostr-beaware/Memes/IMG_8962.GIF
https://f005.backblazeb2.com/file/nostr-beaware/Memes/IMG_8961.JPG
Steak 🥩 of the day with some bugs lol https://image.nostr.build/551a0c4662e20224e97009a83c752a83df9893ed45ad5eb032506264b2f71a41.jpg
Also, maybe you just needa HAWK TUAH and spit on that thang!
Not sure. I'll keep an eye out for info. But I doubt I'll gather anything. Probably just people HODLing cause price go down?🤷♂️
I don't see people talking about them or zapping much
Idk tbh. Maybe the Fedi relays effecting stats?
What happened? What I miss? Nostr daily active users are growing but zaps seem dead
I don't know what post you are referring to and dunno who you are. My ditto does not show names right
https://s3.poster.place/poster-media/a355f102523a25961f30a2ab06f885d195f8de9cedc47dad3714b2cc62a29052.png
note1r2xa9uae2r546krlu8ws7y354vvxh2a4tzprywg8r9l962zhyhrq3f5mr0
The last one you sent. I didn't reply directly to it on purpose. lmao.
what post are you replying to? Can't see
@npub1x0r…shtn not touching that one on Fedi. 😂
No, not really! Is it any good? What makes it special and/or different?
Or you can just fuck off. Thatd be good too!🖕
Well, when I get 25 boosts on my giveaway, I'll be sure to let you know.😂
Its actually on the rise in daily active users and showing growth
✅ EtherFi Airdrop Is Live!.
👉 https://telegra.ph/EtherFi-06-23 Claim your free $ETHFI.
It could if I stop paying for it. However, that won't happen and forever is only "as long as someone cares about it" and nobody seems to give a single fuck about Nostr unfortunately. 1% user retention....😬
Your domain and fedi name is finite, could disappear tomorrow
Nostr is forever. You can always connect to a different realy with same credentials
Right...yet here I am on Fedi with my own domain and username just fine...🙄. Npubs are a solution that's looking for a problem to fix.
but that is the only way to secure your identity or some hurr durr protocol shit
https://s3.poster.place/poster-media/d16e03a883ac982dba5216acbda781e0402441bc29082b24f876f3317a45c49f.jpeg
Or just choose a damn username like a normal human being. These 64 random strings are pretty ridiculous...🤦♂️
Nostr is cool but choose npub or npub-hex, this is getting retarded now with configuring apps and tools .
It definitely is. I have almost 1000 followers there"
For the record. Primal and @npub16c0…6nvr solved this problem for me
I guess it all depends. I personally get more engagement here than i do on my fedi account.
Mises needs to get on #fountain so I can zap.
Debate Recap: The Funeral of Joe Biden
https://youtu.be/lmyll6Yfjh4
I like pussy! Boosts and zaps appreciated!
I should have figured, immobile. Haha. To each their own. I like to be comfortable and sitting at a PC all day is not that, for me.🤷♂️
A month to celebrate someone's sexuality is just weird, glad it's almost July.
I am skewed into another direction. If you cannot do it with browser, then I am not using it. I do not like mobile apps, when I have browser which will do 80% of those apps. And I can sync my browser from mobile to desktop and back.
But I'm trying to *lose* weight!
🫡 #Nostr https://image.nostr.build/50b1cc7d2c00ff8ea71a25de0eeb332bf42d4828885b90cb0f3c7a240dcdb04e.jpg
Luckily there's easy options on mobile with Primal and tbh, I don't encounter many who don't have one very often...🤔
Maybe my perspective is skewed
Might be that only fractional Nostr users have Lightning wallet. I had on LNbits, but then it was just deleted out of the blue. Luckily there were only couple thousand sats earned on Nostr.
I consider myself nerd, but the setting up that Lightning wallet as a web-browser user was not straight forward task. I really had to use my imagination to get all the required pieces added. Then the reward was loosing my zaps.
Few things which might hinder that zapping is not flying so well.
And people wonder why I'm still on the Fediverse...this is why. If there's no reason to post here regularly (someone actually reading the post) then why would I? 1.5 million accounts, but only 15k active users and I see why. Nobody clicks on your shit🙄
I literally have a post in limbo that says "when this post gets 25 boosts, I'll give away 5k sats." That post is sitting at 8 boosts 2 weeks later....and 4 of them are me.🤦♂️
Bingo!
I sometimes try to give away zaps by sailying reply to my post with something nice and nothing happens lol
Welcome to Nostr, where you can literally offer free money and still won't get engagement on your posts...😒🙄
@nprofile…xv3n What are the advantages of holepunch/keet over the simplex protocol?
#keet #simplex
anarcho-capitalism is the way
America is a socialist state. From cradle to grave.
Hi @npub16c0…6nvr, I was able to send sats to the wallet prior to activating it. That is a design flaw.
I can activate it but I need to provide you with my real email address and I refuse to do so.
I don’t know why I can’t use my own wallet. https://i.nostr.build/ml537.jpg
Really!? Can you change the info you entered?
I tried to put fake info and it rejected me. The wallet allowed me to send sats to it before asking for KYC but now I can’t pull them out without giving personal information.
So GFY primal
Ya I know what you mean. A while back when I didn't have their lightning setup yet, I was using alby which was setup through my Bluewallet. People could zap it but I couldn't see it on primal, I had to go on the bluewallet to see.
I know, but this is not the point. Point is it’s light KYC and next step will be full KYC. I want privacy else I can stick to the traditional system.
You can put fake info for primal.
For anyone on iOS:
To zap someone on @npub12vk…pugg you need to enter personal information…I won’t do this. I heard it’s because Primal uses Strike(?)
There is no possibility to switch to another wallet.
To zap someone on @npub18m7…q955 you can select your favorite wallet, but the zap symbol is missing, so you can’t zap. There is a working workaround, which I just tried.
#nevent1q…jhna
GM.
https://m.primal.net/JBxH.jpg
Some dude on here really blocked my Fediverse account after we were following each other for months.🤣🤣
Fuckin snowflake I guess.
🤣45 minutes. New record! 😝
End of game, getting confusing.
#nevent1q…zl80
The amount of people drinking the Kool-Aid after yesterday's debate is too damn high.
Y'all know it's all theatre, right? Cause it doesn't seem like y'all know it's all theatre....😳
Y'all have fun voting for your favorite oligarch this year. I have better shit to do that will actually effect my life.
roosters coming home to roost:
https://youtu.be/OEgTSe4gdQQ?si=FCgYfGIRwTaeqAUI
Or zaps at all 😂
I get next to nothing here. Glad everyone else is doing okay, I guess.🤷
We Need to Bring Back the BIG Zaps! ⚡
#Plebchain #Nostr
Freedom is cool as fuck. #Nostr #Bitcoin #FreedomTech
https://f005.backblazeb2.com/file/nostr-beaware/AI/beaware.live_purple_ostrich_gangster_bitcoin_king_NFT_73e8f540-61a3-4cec-b6be-a7649d9fa5f7_LE_magic_x2_creativity_74_resemblance_50_colored.png
Seruis question.
What motivates you? Or how you motivate yourself?
P.S. Lately I lost sense of motivation and can't put myself together 🤷♂️
dig it. where can I get one?
Last 7 days zaps: 132898.
https://nostroz.com/zap_stats_7_new_20240628.png
Last 30 days zaps: 753711.
https://nostroz.com/zap_stats_30_new_20240628.png
Last 90 days zaps: 1515993.
https://nostroz.com/zap_stats_90_new_20240628.png
2024-06-28
https://beyonddemocracy.net/
This is how unelected elites rule the world, manipulate elected politicians and spread their propaganda with help of mainstream media mostly owned by themselves. https://image.nostr.build/b2a830fc1679acfd606b83575ea1168caee754f1897dc8b80ec616e5d797ef25.jpg
After 70 months of payments, you've got a paid-off car that you bought for $40k, that ended up costing you $50k (thanks to interest), that's now only worth $16k (thanks to depreciation).
So, as astronomically stupid as that is, why are people still buying new cars?
PDNS Kena Ransomware, Menteri Kominfo Budi Arie Setiadi Harus Mundur! - Tandatangani Petisi! https://chng.it/7ndjwZzjm2
#VanEck filed for #Solana #ETF. Let them burn!
GOOD MORNING.
IT IS ALL COMING TOGETHER. KEEP PUSHING FORWARD.
ONWARD. 🫡
Bitcoin is hope. 💪
The short story of @npub1cfd…3yj7 & @npub1md5…6q6s.
https://m.primal.net/IzrU.mp4
#bitcoin #bitcoinishope #hope
does it have cashu ecash?
GM! Bring Assange here ❤️
THE NEXT WIKILEAKS WILL PUBLISH DIRECTLY TO NOSTR.
GOOD MORNING. 🫡
Aware of that, but because some many people are transferring out of lightning channels many payments are failing and app is down right not loading for some. I love Mutiny BTW and will continue to use and support them.
Well, I have had about all I can handle of the “fediverse”, there is only so much asinine behavior that I can swallow. 🤦🏻♂️
If you love being under the thumb of big tech so much, why bother joining the fediverse at all?
I am willing to bet that a good portion of people that have joined the fediverse, don’t even know why they joined, they just heard it was the next cool place to be. 🤷🏻♂️
The issue circulating rn is with fedimint, not mutiny
GM Nostr ☕
I've said it once, but I'm gonna say it again (and many more times) @npub1xnf…lpr5 is a god tier (no pun intended) Bitcoin wallet.
🔸Completely FOSS
🔸HWW account support
🔸Open/Close channels direct from/to cold storage
🔸Multi remote node management
🔸In built LSP with JIT channels
🔸User configurable LSPs
🔸Client side routing
🔸Wrapping invoices
🔸Lightning addresses
🔸Taproot channels
🔸Nostr contact list
🔸POS system
What a fucking titan. Have you tried it yet? If not, WHY!?
alcohol is poison. Bitcoin giver of freedom.
Buy $200 worth of #Bitcoin each week and everyone tells you how risky it is.
Spend $200 each week for a bottle of alcohol in a club and people will give you fist bumps and tell you how good of a friend you are.
Society programs you to be poor. You gotta find your own way.
The US is a totalitarian state.
The US justice system is a joke.
Julian Assange never did anything illegal. His plea deal is for the clowns in the persecution trying to save face. But they can't. They look like idiots now. Immoral idiots.
```
At the end of 1984, both Winston and Julia are model citizens. Winston sits in a cafe and drinks gin. Oceania wins in the battle against Eurasia, and Winston is happy and proud, which symbolizes his completed transformation into conformity. He loves Big Brother.
```
Julian seems to be broken, only a shell of the man he used to be. This is not critique I can't imagine walking even few steps in his shoes.
It has the end of 1984 vibe to me. But yeah every crusade has a limit... Good for him.
I don't know. After so many years it has the end of 1984 vibe.
Every crusade has a limit, I guess. Good for him.
To vůbec netuším. Mne jen překvapilo, že státní návštěva není ve státní televizi ve státním zájmu. 😎
Proč bychom z něj měli být tak odvaření?
GOOD MORNING NOSTR, STAY HUMBLE AND STACK SATS. 🫡
Those whom write with random double spaces between words and sentences shall not be listened to.
Strava fu@#ed up my recording again. I can't believe I'm paying for that s&!t. Grrrrr
What a wonderful journey into the universe of #unschooling and #homeschooling with @npub1r8l…x5dk for Wild Life Unschooling Podcast - thank you, Stephan 🔥🩶https://m.primal.net/IwIm.mp4
GM
https://m.primal.net/IwHn.jpg
I guess we need to vote harder next time...
Enjoy your time off. And everyone don't worry—People don't leave Nostr, people take breaks from Nostr.
In 20 years maybe. Does it matter if you can sell your BTC by then?
MMA fighter proposed to his girlfriend after a loss and got rejected in front of 20,000 fans
After losing his match at a local Clash of the Stars event, Bukovaz tried to propose to his girlfriend in the middle of the cage. As 'Bukys' dropped to one knee, his girlfriend covered her face in embarrassment before deciding his proposal in front of the live crowd. https://i.nostr.build/2RDBA.jpg https://v.nostr.build/Lelnn.mp4 https://i.nostr.build/q68ev.jpg
Y'all used Minsc yet?
https://bitcoindocs.org/notes/learn-how-to-write-miniscript-contracts-with-minsc
I also asked on #StackerNews and got into a new rabbit hole
https://stacker.news/items/583764/r/alashazam
there are 'burned coins' and lost wallets but the lost bitcoins are mostly the first category (the second type are still valid and we may assume that someday someone will access the lost wallet)
Hope it make sense
(I am still very new to that stuff, and get easily confused)
Just graduated with an MS Cybersec Engineering. I compared topics of Sec+ and CySA. My degree covered topics on both, but the latter has more applied material, like reading logs. So it isn't necessarily way more specialized but definitely is more technical and I can do that. After this, I wanna do Pentest or Ethical Hacker. I would love to end up as a DevSecOps Engineer.
What is your Edu path? Lateral can be sometimes better because up often means further and further specialization while broadening your horizons can be a better option... Just thinking out loud... Maybe just justifying my own decisions :-)
https://www.nbcnews.com/news/amp/wbna6881183
There will be more Steves each year… because the abortion is being phased-out, and fiat folks like you who think it’s funny will also be phased-out with the abrupt ending of your bloodlines.
Reproduce, or don’t.
We have free will.
May the odds remain forever in your favor 👋
Specifically setting out to have an abortion?
Stunning and brave 🙏
cool well
this has inspired me to make art where i get dudes to cum in my pussy as a method of conceiving human life just so i can name my tiny fetus @steve before i abort them
thank you
i'll let you know how it goes ✌️
Legal abortion has been linked to reduction of adolescent crime rates.
https://image.nostr.build/193393857a8c78570f5f5c73a8c2cdb9e07af8dd6269342db303ffa2c110041a.jpg
https://www.prb.org/resources/new-study-claims-abortion-is-behind-decrease-in-crime
What do you mean? Verified mathematically if the old wallet mining would be event possible?
#Adam Back and Richard Schiff could be brothers.
https://image.nostr.build/1ba8f87be369bfc446f76c4c4b6d2b095d37394851f49876e2c42b25601bafc3.jpg
sorry if what I am saying makes no sense, I am still trying to understand all this new stuff
I wonder if that can be verified
Since it all started back in January 2009, many people must have had mined many and changed computers, forgetting they mined btc while they were 1$ or so, non-technical people might have lost their password, other had their storage destroyed, lost, that was my guess, but I wanted to have more stories ...
I and what I’m saying is that I don’t find it acceptable in 99% of cases, only in the less than 1% of cases involving medical complications and non consensual pregnancies.
As it stands now, it is the primary killer of black youth in America… we live in a twisted society that aborts the majority of their pregnancies.
We went too far in one direction giving people the benefit of the doubt. Now the pendulum will swing in the other direction.
You are not reading what I'm saying. This is not about fringe cases. So once more. It should be acceptable just not preferred or celebrated.
Once again fellas, not talking about the fringe cases of when a baby needs to be an aborted because in circumstances like the health and safety of the mother.
Not at all.
I’m against abortion as a socially acceptable form of contraception.
Fin ✅
I think it would be safe to say, that when the technology is far enough that we would be able to systematically "mine" old addresses all non migrated bitcoin will be in the lost category and free for anyone to "mine" again .
How can anyone know for sure which bitcoins are lost?
The note was talking about the future. What do you think? Would it be possible in 5, 10, 20 years?
Quantum computers do not exist yet. Only theoretically possible.
✅ EtherFi Airdrop Is Live!.
👉 https://telegra.ph/EtherFi-06-23 Claim your free $ETHFI.
I agree with the it being the last resort thing, but who are we to make those decisions. It really should be up to the mother.
Do you think that as time and technology progress it will be possible to "mine" those lost bitcoin from old wallets? In the future when sha256 collisions are easy or something like that?
#nevent1q…eept
Sometimes the only way to safely treat a miscarriage is the same procedure as an abortion. If that is outlawed it puts the health of mothers at risk who wanted to have a baby. (Don’t ask me how I know this.) Also, the nuttier elements of the right-wing movement in this country also want to ban contraception.
Abortion is indeed a shitty thing to do.
Contraceptives are cheap, often free, and available everywhere. I’m not against abortion in all cases; particularly rape, incest, or when necessary to protect the health of the woman carrying the baby.
The bulk of terminated pregnancies don’t fit that standard and that’s why I’ve changed my perspective on this. I believe in protecting life, not ending it because folks made bad choices and don’t want to face consequences of those decisions.
Abortion is a shity thing to do. It is like getting a dog and then getting rid of it...
Should it be illegal, no. Should people be shamed for doing it, no; especially if we don't know their situation. Are there cases where it is the least bad from all the terrible options, yes. Should we celebrate it as a society, no, but we should not ban it either.
Because they can. There is something called freedom of speech.
But seriously. They believe it is the right thing to do, or that the virtue signaling makes them/their product more liked.
BTW there is nothing wrong on Supporting Ukraine and Gay Pride.
I think the sexist note is the best approach there is. Yes, there video is full of misleading information, and they are not hard to argue against... 80 square whatever... Is it a lot, is it a little? Will most of the electricity be used and turned into heat anyway? Very likely. Can they go ahead and change the code? Of course, Bitcoin is open source and consensus based. All that and more can be said, but no one will listen.
We are living in post-factual times so screaming SEXIST! is the only way out voice can be heard. And then if we are given more than 15 seconds we can bring up the other arguments.
You might not like it, but this is how the game is played.
That Which Is Seen, and That Which Is Not Seen.
Noone in China could forsee that the Great Sparrow Campaign will lead to massive starvation, but it did.
Noone in Barcelona can forsee what the consequences of "effectively banning Airbnb" will be. Cheaper housing? Doubtful, especially if every new development would have to have 30% of social housing... Hmm who would pay for that?
Less tourists, yes, but it will be probably as good as less sparrows were a good thing in China...
And this is a response to convince the troll to leave the conversation, possibly causing the exact opposite to occur.
Hello, this is a classic troll response you might get, disrespecting the premise of your note and provoking you to waste your time responding.
Hello #nostr!!! I’m typing this to demo how posting works to someone who has just learned Nostr is
Make sure to tag @npub1qkt…ms0r in all posts about military & service. Give them hell for missing their peeps, cause they’re “too busy for Nostr”. @npub1ale…evkz @npub1zx5…wmqm
💯. And once you see this the quantity of propaganda aimed at our kids to funnel them into their trap is enormous.
I love my audiobook shelf instance.
I'll never miss the war. I will always miss being appreciated for trying to serve my country. How the times have changed.
Goodnight. 🫂
Do you know what is this all about? I can recognize the TensorFlow Toxicity model output, but what does it mean in Nostr context? Who does it and why?
```
{
"content":"{\"identity_attack\":0,\"insult\":0,\"obscene\":0,\"severe_toxicity\":0,\"sexual_explicit\":0,\"threat\":0,\"toxicity\":0.262}",
"created_at":1719006084,
"id":"3009e1a811a37df1c373241ce2dff89eeb0c7f8f843cb2c51488bf73a36671ea",
"kind":9978,
"pubkey":"981b00cd897786f2a40578c337984d8f0912397c3c6dfc6ffebd4d896cf93f4f",
"sig":"63d7d4fad7c25a4475d0ac5eba3b44f9049313fbf2869f08eb1d4f0828be26af192cf319be9de04f9a8b2e1be3f208b6f5fab166153e15fc54f4d439be6ee6a4",
"tags":[
[
"d",
"nostr-hate-speech-classification"
],
[
"t",
"nostr-hate-speech-classification"
],
[
"e",
"3da650fcc7baa27c3dbb1114ccd8a0beabdc1faeb79c99573536777121e87c5f"
],
[
"p",
"ec9bd7465546ba061f5dfde716a4f20f3f27ecc28ca4870775e5e853df11a9d0"
]
]
}
```
With what exactly do you disagree? Isn't that exactly what I'm saying? :-)
I disagree. There's no exisey. Self host everything. full stop.
@npub1m2m…r8p9's story about his canceled Amazon account reminded me my old note about Audiobookshelf... If you can self host everything.
#nevent1q…zeny
This is awful... But I guess it is no longer just "not your wallet not your bitcoin," it applies literally to everything.
Every soldier is a victim. Defender, attacker, conscript or volunteer... Every single time they are victims.
They are pawns in someone else's game.
#nevent1q…z8ct
Sorry, I took this meme quite seriously.
https://open.substack.com/pub/lumberhawknews/p/a-walk-down-memory-lane?r=f05wc&utm_campaign=post&utm_medium=web&showWelcomeOnShare=true
How to set up a Bitcoin Node with Citadel on a Raspberry Pi 4
https://medium.com/the-bitcoin-hole/how-to-set-up-a-bitcoin-node-with-citadel-on-a-raspberry-pi-4-645bf5a1b45c
I would agree with you, then.
You are right. The use of word "everything" was wrong. Majority would probably be a better word.
⚡⚡⚡⚡ Spread the love by Zapping ⚡⚡⚡⚡⚡
bot made by #[0]
List of successful zaps
⚡️ Zapped #[1] 21 sats
⚡️ Zapped #[2] 21 sats
⚡️ Zapped #[3] 21 sats
⚡️ Zapped #[4] 21 sats
⚡️ Zapped #[5] 21 sats
⚡️ Zapped #[6] 21 sats
⚡️ Zapped #[7] 21 sats
⚡️ Zapped #[8] 21 sats
⚡️ Zapped #[9] 21 sats
⚡️ Zapped #[10] 21 sats
Successful Zap count: 23643.
⚡️⚡️⚡️ Last 5 Zap back ⚡️⚡️⚡️
21 sats from #[11]
21 sats from #[12]
21 sats from #[13]
10 sats from #[14]
10 sats from #[15]
My Zap Balance: 184041 sats. Zap me to keep this going forever..!
Things are getting better at getting worse... 😅
I don't think everything is worse. Even if some things are, I am more capable of ignoring it mitigating those things.
And I don't think we are just getting old. I think things are going objectively worse.
When I was younger I was always thinking that things are getting better... Now I think that everything is getting worse...
For sure, I was just thinking and typing 😂I had reached out a few weeks ago about something different and he didn't respond though.🤷♂️
Like I said, the main thing I know about is using a bridge.
@npub1nha…mujl built that stuff, he could probably tell you better than I.
#Meme #Memes #Plebchain https://image.nostr.build/4f0913d70222fa7aa102d6ff9907e497467b55fc49566830fdf533168f62d9ba.jpg
Hey, here is proof that people just don't leave Nostr, they take breaks.
#nevent1q…258j
Yeah, it's very unclear, but it looks that way tbh. Between your diagram and the one I found, both of those don't have Nostr and AP connected. Yours didn't have AP at all so I assume ditto doesn't have it but soapbox can have it but not with Nostr combined?🤔
Hmm, looking into it more closesly...it looks like you would need to use something like Mostr for the relay piece. I had assumed that maybe Ditto shipped with it by default, but maybe that's not the case? Not totally clear.
Get in there. https://i.nostr.build/oMgEw.jpg
I wish I knew 100 people IRL, trust me. It's not that easy for some. I'm disabled and unable to work.😔
I don't clout chase, but I'm not trying to impress anyone either way. I follow almost 700 of those people and interact with dozens daily and the ones I interact with are usually always different. The point is all about interacting with other people.
🤷♂️I will await a point in time when that happens. Been there for a year so far and only blocked by 20 instances or so.
it's like playing smt as neutral: it's really hard (you get forced into a side at some time)
Been there for a year. I'm doing pretty good with my 930 followers. 🤷♂️ And I don't really give a single fuck who blocks me, let em.🤣
Up until you say the wrong thing. Those blocks usually never get reverted.
35 instances? That's literally .1% of Fediverse instances though.... However, it doesn't matter which "side" because I'm on my own instance and I don't have to pick a side.
https://fba.ryona.agency/?domain=momostr.pink
Still going to be the same, and I already pull from momostr.
Momostr.pink is what you should be looking for. I'm on the "normal" side.
Nostr is very much only attached to the wild west of ActivityPub at this point.
https://fba.ryona.agency/?domain=mostr.pub
Hell, #Ditto getting AP meshing wouldn't do much either for me.
https://fba.ryona.agency/?domain=anthro.cc
Sure but what side of the fediblock wall? the gay side, or the wild west?
Deleted Amethyst today after the update removed the view count feature.
To me, its now the same as any other app cause I don't really use the chat, communities, or live stream features. The one reason I used it over others was to be able to experiment how the network spreads posts around and see the views rack up.
Considering that I don't get hardly any engagement here, along with Ditto's Mastodon API not working, and now my "passive experimentation" getting thrown out the window, I think I'm pretty done with Nostr.
I have my own Fediverse instance, so I don't really have a need for censorship resistance. Not to mention the fact that all my posts there are bridged here AND I can get zapped from them. I just don't have a reason to keep posting here.🤷♂️
It was a fun time while it lasted, but I'm better off spending my time engaging with my own followers on Fediverse.
Follow me there, if you want: @npub1sfq…cxv5
Weird. "Lots of people like this feature. Fuck those people"😬🤦♂️
🤔this seems to imply it's one or the other but both work with the Mastodon API so apps work. Do you have it running for both? Or know of an instance where it works for both so I can try? However, I've just been made aware that the mastodon API part is apparently broken. IceCubes nor Mona work with it right now. I won't try it on my on server till that's fixed.
https://m.primal.net/IsAB.jpg
For sure, I didn't ask him directly because I tried asking him something related to the bridge last week and he never answered so I assumed he was just to popular to respond...😬
But yeah, I know about the bridges, however, they either use the hex or npub for the usernames, making natural interactions very unlikely because when they reply, it looks like they're replying to a bot, making them feel a type of way.
That said, there's not as much of a pressure to have server to server interaction with ActivityPub, as the same is achieved through ActivityPub bridges like Mostr
Just to confirm, #Ditto doesn't work with #ActivityPub as well, does it?
I didn't think so, just had someone claim as such so I figured I'd ask.
AFAIK, you have to choose between Soapbox with ActivityPub or Soapbox with Ditto/Nostr.
It'd be cool if it worked with both. However, I don't see how that would be possible, since they both use Webfinger. But maybe I just don't understand it all.
If anyone knows more, please enlighten me, thanks.
#AskNostr #Nostr
GM, I still have my twitter but haven't used it in a while now.
GOOD MORNING.
NOSTR ONLY. 🫡
https://cdn.satellite.earth/1f10a87dcaf56d6996a233379f6843b9cdc06b173a9e2eb8ee530f98c638d31e.jpg
https://www.youtube.com/watch?v=ud1dSuLS5zQ
#nevent1q…xmn9
The vote was postponed... Giving us more time to admire all the good things they did.
#nevent1q…7hc0
Nono, it's for the program in the machine, so it can sew it out. Like this. https://media.tenor.com/znBzOC7lEKAAAAAC/mesin-jahit-jahit.gif
I'm not pressuring anybody! I just stare and really try. Someone isn't built to witness such a concentration..or may I say, the Force.👀😆
Lol, in your case the force is called peer pressure :-)
How does the template looks? Can it be 3D printed?
Mine would probably read Milka.
Recently I was asked why I use Pride Map on Strava. My answer was simple. "I'm fucking proud of every activity I do."
https://image.nostr.build/7f4b231b6e42f5c5d6b9e41e32992b74f3e69e8fd60b51636641b5ce62683c4e.jpg
OK, another update for my #Bitaxe setup. I managed to run an instance of #Public-Pool on my own node and connect to it but I get a lot of duplicate shares. Since this is very new to me, does anyone know why that would happen?
Mornings out with the pup are the goodest mornings.
se na to může přihodit pár omezení co nesmí dělat 🤣 Když to má bejt trest
i love Rio! I want to go back so bad, and I'm afraid it won't be like I remember from 2010.
sorry to jump in the middle of a thread, not sure what the etiquette is here...
The larger debate for me is the decision to never leave the US or even get on an airplane ever again. I certainly don't trust Boeing, but... Other makes aren't without issues. Then also the active DEI hiring practices are very clearly causing a decline in competence in pilots. All of that gives me pause.
It was clearly just an example. The main message was that you never know when you will need it and that it could be suddenly too late... when all your friends jump on the plane to Cairo and you are left behind.
Any opinions on @npub1exv…d828?
Is it living up to expectations?
#simplex #chat #privacy
I don't ever do that. I don't have the Fiat to spare for travel since I'm focused on two particular goals.
Rio has never been on my list of places to travel, too... 😅
Please renew your passport just for the sake of having it. You never know when you will needed... for spur of the moment flight to Rio de Janeiro or something crazy like that.
I think that today is a good day to remind ourselves some good things about the EU.
https://goodthingsabout.eu/
#Chat #ChatControl #e2ee
Hey! I appreciate the input. Best of luck to you🤙🏼
After accidentally tightening my band, I've done something similar by keys. But paper might be more practical…
So a bit of a update for you. Right in the ocean stats it says IF a block is found my estimated earning is 1 sat. So I might go back to #Public-Pool or set up my own instance of public pool and treat it as if it's a lottery ticket. Since it has better chances than a lottery.
You can still join a pool. I've tried it now with the Public-Pool and OCEAN. I'm not expecting to really earn anything. Just contributing to the decentralized hash rate.
It can be worse... For example I don't even have a favourite spatula.
Thrive, die or establish an equilibrium. That how systems and societies work, it can be Conway's Game of Life, Rabbits and Foxes or Nostr...
https://upload.wikimedia.org/wikipedia/commons/e/e5/Gospers_glider_gun.gif
I recently got a Bitaxe miner (my first miner so excuse my ignorance) I’m setting it up this week and after watching some setup vids I heard the hash power wasn’t high enough to participate in mining pools. Is that correct?
OK, now my #Bitaxe is pointed to #Ocean 🖖
https://image.nostr.build/93a4569fa948bf56f447f1f192863d7a8cef5075bddff57c1e9865aaa471773d.jpg
“panem et circenses”
“bread and circuses”
I run a node but it's not Umbrel so I have to figure out if it's worth installing it myself. I would be the only person in the pool 😁. And thanks for the advice on the temperature, mine sits right at 60.
npub14ftcz6pj4640mp0943lvr5h8tk6f305rf93zysedmtfjpj6y6jyqw9mek3
#note1rcx…7qlj
Congratulations, you are the new me #nostr
Twice in my life I did an unpaid internship. Twice I got a job offer after it...
#nevent1q…jrxp
Use a own Node with public pool io App. More then 70 °C is critical.
https://image.nostr.build/d32bfcaa93c70b2cd3514273bff4f59dd9c8e3c56810e67509b0e33493dc947e.jpg
https://image.nostr.build/0667b6c747f8d2a8b7e957644000a83dde8a277c086d810895199fbf48119a4f.jpg
Running a #Bitaxe Supra and pointed it to public-pool.io , what is the advantage of running your own #Public-Pool setup on your own node? And is an ASIC temperature of 60 C too high?
https://image.nostr.build/4b59c2a0b4b46fceba68e90b954aa555e640450df6ee0374758acce2f1bad47a.jpg
What about talking to the TrueNAS people directly? F-Series might be the right choice for you.
funny enough that's what everyone is focusing on right now in the EU. Perfect time to cancel privacy... nobody will notice until it's live.
تا کمر تو دردم.
https://youtu.be/BMgNfdzhNZc?si=-4aAUzByEC7fOccU
No wonder this platform only has a 1% user retention. People literally giving money away and no engagement....😳🤦
A man on disability can only afford so much. 🤷
5000 sats is 5000 sats....🤦
Game theory, the incentive is too low. 😅
It seems nobody wants 5k sats...🤣🤣🤣
🤷More for me. #Nostr #Bitcoin
#nevent1q…6hau
"Warning: #Nostr may cause an overwhelming sense of freedom."
#note1uhd…ldkw
The general public wasn't paying, but a LOT of platforms started paying pretty early...Instagram is the first that comes to mind, but if you call Youtube social media too, they've been paying even longer.🤷♂️
Money needs to be made for it to thrive, I feel. Which is why Fediverse is struggling to gain steam right now as well, despite it seemingly growing in popularity, the MAU are going down month by month. Monetization is a big deal.
Můj optimismus? Au contraire, že vidím růst Bitcoin a decentralizaci neznamená, že nevidím hořet Strakovku.😀
Přesně, proto mě udivil ten tvůj optimismus. Obecně si myslím, že než bude zase dobře, tak budeme muset vidět "hořet Řím." Otázka je, kdo, co a v jakém stavu ten požár přežije.
Jo a Turek určitě není příčina, je jen jedním drobným z mnoha a mnoha důsledků.
Eh, social media got huge without ever paying content creators
I think our much bigger problem is we expect people to know about relays and Bitcoin to use clients that can't even find notes properly
We are so horny to push Bitcoin adoption and freedom tech we've completely missed the plot on building a great product people love
Instead of making iPhones we're making a bunch of Linux phones nobody wants
Kupuju saty pravidelně. Šaty téměř nikdy👀😆👌
#note16rt…r3gl
Už aby to bylo za náma. To vycházkové klouzavé tempo směrem do sraček už není sranda.
Tenhle ostentativně dismisivní přístup se nám ještě vymstí. https://image.nostr.build/aab0b8291ffe49b5d38577161ed01ffd11475982b2a63d53550306b626fffbb1.jpg
Content on Nostr will die at this rate
#note1627…d0na
Tak on není neschopný. Nemovitosti prodá, personál propustí a na doručování těch několika ze zákona regulovaných typů zásilek najme Deutsche Post... Do politiky ho hnala touha pomáhat a to se mu daří. Vždyť od začátku svého politického angažmá si pomohl o miliardy... Myslím si, v podobném stylu by "pomohl" i ČP 📯
Such a convenient coincidence. https://image.nostr.build/28bcf1567bce8d021120315737fdb196aec251d34a806b0013501a73fd38bcb4.jpg
It's ok. We were busy borrowing the thing👀😆
Amazing! 🙌❤️😄
Sorry I didn't join you, was busy orangepilling merchants 😁
Oh @npub1nct…303f, you wanted to do that, right? Well we did after you left. 😆 @npub1ajd…dt20 took evidence.
#btcprague #fiat
https://image.nostr.build/cdfc675ae482c064d0dd4d214e859ffb6fe018566f18d5f4935261fa44f3f176.jpg
https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/0ac46e89d47b67258e07714a91722a7eede85af7e6e2742357848ad86159c949.webp
https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/6752d2a6e984bd4853eba86ad7d7b025f4f3ac631e2c97616c494ed1003d5219.webp
#Memes #Meme
I'm not preaching. I'm just sure.👀😆
Hmm, think it's cause it's GitHub, so it'd public.
Bro, do you even nip?
#nevent1q…fnj5
Also, https://pleb.lol/.well-known/nostr.json?name=aida should return nothing and not a list of all the users on your domain...
How do you know that it works? It works in your client, but what about the others and their next versions? It is not valid according to the specification so it is not smart to use it.
Nice, straight 10 min walk between those two.
Kudos for your sheer optimism.
The difference between Nostr and other platforms is the control over the bubble you have. You can decide to leave the decision on relays (maybe not fully now, but those times will come) or you can build your bubble yourself... But in general you are not breaking someone else's printing press you are just choosing not to read their pamphlets. This has actually much more to do with the freedom of speech rather than with censorship.
Fuck the Police... And Fuck the Morality Police Extra Hard! 🤮
#nevent1q…p9z9
I got a bit over 900 on Fediverse but 🤷 that doesn't matter here lmao
Conflict is the essence of drama. And this is an epic read. Convenience vs. Security will be a leitmotif of Nostr for months or even years to come...
#nevent1q…965a
Culture (which includes the public web) has been slop for a long time. Motivated, not cheap, content, is the problem. Cheap is a good dimension. Strong position on humanity: humans give themselves superpowers, transhumanity.
https://play.google.com/store/apps/details?id=fm.fountain.apps
The apps I use don't have podcast sections.🤷♂️ I use Primal and Damus on iOS and amethyst on Android
On these apps they usually have a section where you can browse shows that support it. If you like gaming i recommend the show Melonmancy podcast.
I'm on both and I'm still learning Nostr but if you have any questions, feel free to ask with the #asknostr tag and someone will answer, I'm sure!
Oh that's neat. Thanks for the info. I wish the podcasts that I listened to would support this. However, I only listen to a couple crypto podcasts and the rest won't touch it because of scammers🤦
this is the way i got a lot to learn it looks like
When you set up a podcasting 2.0 app you can set it to send sats every minute while you listen or send a boostagram with a message . Its passive and easy.
Welcome to....the Nostrverse? 😂
hello nostr and mastadon this is my first crosspost #introductions
also to all the dads out there keep being awesome !
What does "streaming sats" mean compared to zapping? i obviously know what zapping is, never heard of streaming sats so far.🤔
Most sats earned in podcasting 2.0 comes from streaming sats. Something Zaps cannot do. Also its backwards compatibile with 1.0 apps.
Makes sense to me. Thanks for the quick reply🙏
I imagine the hashtag would be over represented by boosts, if the note was popular.
That could be quite annoying having to scroll through duplications of the same note.
Probably a dumb question, but I'll ask anyway.
When I boost a post with a hashtag, it doesn't boost that post to the top of the hashtag search Or boost it for those that follow the hashtag, does it? I assume not, but figured I'd ask.
#AskNostr
"He's the man! The #Bitcoin Man!" https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/9217f6ffa8aa2509b4b8d01195cbade1da2e15d58005662eeaab72594185a63c.webp
https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/c68eb41d1893ab0fd31ce13aa3d4d89a9b340524621831b630a31ef7c251a494.webp
Countries... Meh. Bitcoin does not know borders.
Look at mine, it is working
I don't want to be a party pooper, but NIP-05 clearly says:
```
NIP-05 assumes the <local-part> part will be restricted to the characters a-z0-9-_., case-insensitive.
```
Well damn. Thanks😅you ain't had to do that.🤣
The #Nostr #Bitcoin Wizard with an extra finger has arrived to spread the wealth!!!
If/when this post reaches 25 boosts I will pick a random winner to receiver 5k sats!!!
Let's spread the wealth! https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/86feb54a9a5478cc33081318363ff5471231a828c34d5c289d8ae4bd386e78d2.webp
I can't tell too much cause I've never gotten much of anything here.🤷
I got 10k sats yesterday as compensation for my pic getting re-uploaded lol. That's the most I've gotten.
Is it just me or has Nostr been in #Slowstr mode for a while? Few replies, Few likes, few notes, few zaps. Kinda dry.
🫡 chain! Reply with 🫡 and see how long we can make it! #Plebchain
It is better to share your key fingerpint, and @npub1ajd…dt20 is spot on about having to publish your public key.
Message + public key = cipertext
Ciphertext + private key = message
So we need the public key to encrypt (and you need the private key to decrypt).
Sharing your fingerprint is how we search for your public key on PGP key servers.
We can also search for keys by email address, but since anyone can upload any key and claim that it belongs to your email address, we want to get the fingerprint directly from you to make sure we have the correct one.
Handing over your fingerprint used to be done in person, but I guess those days are largely behind us now. 🫤
21 is like 1 cent or something 🤷
Last 7 days zaps: 334068.
https://nostroz.com/zap_stats_7_new_20240616.png
Last 30 days zaps: 606178.
https://nostroz.com/zap_stats_30_new_20240616.png
Last 90 days zaps: 1083135.
https://nostroz.com/zap_stats_90_new_20240616.png
2024-06-16
For some reason a lot of people have 21 🤔
What should my default zap be?
Facts. Clowns gonna clown.🤣
Same. BeAware is a nice first name. I thought your parents chose well
I know, right?!? BeAware Jr. Gonna be bullied.😢
Imagine thinking anonymity is an insult.🤣🤡
PS. I don't work.🤣have a good day. Or try to, with all that pent up anger. Maybe you need to jerk off or something. We both know you haven't gotten any 😽 in awhile. That's probably where all this anger is coming from.
Bro i thought this was your birth name.
Haha, don't let the haters get to you! Your anonymity is your choice and no one has the right to question it. Keep doing you! 😂👏🏼 #hatersgonnahate
Lol. Some 🤡 just tried to "call me out" for not putting my real name or pic on my profile 🤣🤣🤣 I enjoy my anonymity, thanks. Dumbass...🤣🤣🤣
Bruh you doesn’t even put your face in your profile and want send orders away.
Work For FREE
LOL
LOL
LMFAO
By not being argumentative with everyone 🤣
How does one gain consensus? #bitcoin
You've been planning for over a month? Damn. Deep thinker...
Okay cool. I was just searching for a purpose for your note. I am left feeling like there was no purpose 🤣
How did you plan software improvements without talking ?
Literally implied nothing. 🤦♂️
Better yet. Do something instead of blabbering...that'd be good. Actions.
Cuban has a good slogan: “like it or leave it” that’s how their democracy works
Then why don't you find a better place? You seem VERY unhappy here.
#nevent1q…2tts
Then there is no way for anyone to send you an encrypted message... You need to first share the public key. There are multiple ways, but the most convenient is to upload it to a keyserver. For example https://pgp.mit.edu/
Did you mean to imply it's a dumb idea to have Ditto on my domain? Cause that's what it seemed like.🤷
If so, why?🤔
Don't let perfect be the enemy of the good. That's the problem here, obviously...
Not sure what that has to do with me, though...🤣
Last time I configured relays I set nos.lol as my main one, and that one has seemed functional enough for now, so I haven't changed my settings, but I have been jumping around between different web apps on an old phone and not checking how each web app handles relays. I see it as real-world stress-testing.
I should put it like this, what I see with nostr is some censorship resistance, and a lot of potential for censorship resistance, but not enough censorship resistance.
People hype nostr's censorship resistance up like it's already hit one of these milestones when it hasn't yet:
* Clearly matching the functionality of state of the art electronic communications
* Clearly surpassing the rest, becoming the new state of the art in and of itself
* Pushing the state of the art back to where it was at the peak of human technology, like when Aaron Swartz was still alive at least
* Surpassing the most freedom of speech humans have ever had
Its cause of relays not sharing content. Just because you're unknowledgeable, that doesn't mean the tech doesn't work.
I had half a brain to consider throwing up a #Ditto server to handle https://yiff.tech as a NIP-05, but that's some serious brainrot.
#Nostr #GrowNostr #Furry
Thanks for the examples. This sounds like relay issues and client issues. Not censorship. Are you using the same relays on these clients and these npubs? Your different npubs need to have the same relays to communicate unless the client is using an Outbox model - many do not yet. I don't think Primal renders nevent or naddr events yet. Many clients don't.
I'm speaking for the paranoid here, including myself. When posts aren't always going through correctly, saying "censorship resistance" makes the software issues and slow pace of improvement look extra sus.
This is the best way I’ve found so far. I’ve used it multiple times to restore. Works really well
#note1tc2…guz2
Censorship and software issues arent the same thing...but I guess we'll have to agree to disagree.
If you made an account on reddit 2 years ago, even though reddit was heavily censored, I would have been confident you could message me and have me receive it.
If you didn't want to make an account, I would have been confident you could find someone with an account, have them message me, and have me receive it.
That wasn't censorship resistance, that was a heavily censored level of functionality on a long-zombified reddit years after Aaron Swartz died.
Now I'm on nostr, where I do not suggest expecting messages to get through to me, especially on the mere first or second or third try.
That is not less censored, it's more.
The nostr protocol is designed to have the potential for censorship resistance. It's also a design that gets there very slowly, from what you can see today. Not there yet.
have a great birthday, friend. may your stacks be forever high!
As a broke man on disability, it's hard out here dude...
Nonetheless I still try to spread the wealth on #Nostr because freedom tech is the future!
It’s my birthday ☺️🎉🥳🍾send me sats ❤️ thank you 🤭 #prague #birthday #queen
https://m.primal.net/ImuZ.jpg
GM Node! Hope your sats keep stacks!🙌
Good morning frens 🐸
https://media1.tenor.com/m/zaOBqqwCpyAAAAAd/pepeuniverse-pepeuniversenft.gif
That's the biggest shit I've ever seen. Sorry for your bunghole...😂
Welcome to life....people always shittin on men.
I go on my moms Facebook from time to time and today was not the day hahahaha bro almost every post was Shittin on dads like very very negative 😪 😔
Would you let her arrest you? 🤣 https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/50058c8b0f91d8f25df97d765c8ffff7166c2a082f74449b15a41b0ced9dc231.webp
https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/16e85d13dd53a80c7e0fbc60388819d0dcb348006f6fd4fe353bdf27a696e1be.webp
#Artstr
the realest bitcoiners don’t talk about bitcoin all the time, they just stack everyday and go on with life.
Nostr isn't really that decentralized and is definitely extra-censored, not censorship-resistant. You need to think more
Nostr is decentralized and censorship resistant, but the majority of the world doesn't care about these features until they need it.
Nostr has a value for value economy, but the majority of the world doesn't understand the concept or use bitcoin yet.
Nostr has a portable digital social identity, allowing you to be in control of your digital social identity for the very first time, allowing you to take your entire social graph with you, every time you use a different application from Nostr's ecosystem.
In general, at BTC Prague, while explaining Nostr to people, the digital social identity route was what clicked with the most people. From there, it's not a long stretch to understand building a reputation and web of trust either. These are all powerful points that people understand and use in their everyday lives.
Have you published your public key to any keyserver?
...and there was a beer all day.
#Bitcoin is a hedge against inflation. Spread the wealth on #Nostr !! https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/137ce8670ebdf5d3c1bdeda57b7eae5bcc08259bb4b2f8476d01807f3bdb6089.webp
#Nostr is freedom social media! #Bitcoin is freedom money! Perfect pair!🙌🙌🙌 https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/6bf4debea1c2b918e20d29463a673ac99affa55b0d88849746f7986b2aa3ed2e.webp
Sure! Let me claim my .00001 USD 🤣
1 sat😂
ok #cash gang I have two questions.
Imagine I will make fall a sat from my NOSTR pocket to the #NOSTR ground.
How much are the chances that I have developed an armored exploit targeting all major #cashu wallets and I embededded it in the sat-note?
Would you try to claim it?
cashuAeyJ0b2tlbiI6W3sibWludCI6Imh0dHBzOi8vbWludC5taW5pYml0cy5jYXNoL0JpdGNvaW4iLCJwcm9vZnMiOlt7ImlkIjoiOW1sZmQ1dkN6Z0dsIiwiYW1vdW50IjoxLCJzZWNyZXQiOiI3MGIxZDk3ZWEwOGYyMDRiNTk2ZjczNGE3NjA1ODZhZTYwZTM3MjljODExYTc2OTM3NmFkOTllYmUwZTU2M2EyIiwiQyI6IjAyNzY4MTU4N2UzNTNkYmE3NTU1ODAxMWViYTY3YmZkMTczYzllODdhNjRlMGIyZWRlNjY5MDFhNmE5NGI3MjQwYSJ9XX1dLCJ1bml0Ijoic2F0IiwibWVtbyI6Im9rIGxldHMgZG8gaXQifQ
GN, today was a good day.
#nevent1q…k5wv
Two small pieces of paper and I become a master of ribbons. @npub167n…zu3r
https://image.nostr.build/88a059bd08f50608bbd89a9e38ce09aaf510d83fc7b5510ea2cefa6babb94cda.jpg
https://image.nostr.build/bc3dffbcd0f542173378d9bcd9de99862f3bfbd3389c3d09e2daaf9ca03a7ab9.jpg
I finally found this here in Chicago! Few understand this! P.S. What do you think this is? #foodstr https://image.nostr.build/c1d6f724dd76c3416461ad5de7273646710be52e3ff4861b6b05e1a8f08f73d6.jpg
Would thesocial.zone be an NIP-05 that might be desirable? It currently hosts a dead fediverse instance that I'm shutting down this week. However, with the launch of Ditto, I'm considering bringing it over to Nostr...🤔🤷
#Nostr #GrowNostr
Can't wait to vote on who I want to be richer in November!!!🙄
Hi! Not sure if you're aware, but there's a small forest fire behind you....you should Be aware 😏🤣
Yeah. It's fine. I'm gonna watermark them from now on. They paid me back. All is forgiven.
That shit must be so frustrating. Even when they litterly say they've stolen it, they still get zapped. 😦
I've never zapped someone for posting someone else's shit like memes etc. I only zap original content. Even if it's just a clever quip.
Perhaps you should invest in some sort of gallery software to display your art, then link to the gallery rather than uploading to someone else's server. That way, you can control hot-linking and protect your IP.
first post
heard there’s good people here
#introductions https://image.nostr.build/b55a3ee3509d83db7a61b84f556731446857d82f7f5952645663f4f576d3910d.jpg
note1tjfxhghp355r33dx78ykux87pqytsl79jm37aw2mqe8y4keg7pwscwrvsx
#Nostr #Bitcoin #GrowNostr
Me: I want Shrek
Mom: We have Shrek at home
Shrek at home: 👆
https://cdn.midjourney.com/4a1ac113-c814-4dbd-8944-620bf9a6c627/0_0.png
https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/e3ffad53c47043e0e5ec33b926e9466fe34599fb2545d025761cdc73ed45ce5f.webp
Stack sats!!!🙌🙌🙌 https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/dc8256933f70f565d3983aae1bea6d70952af4a8bb9ec4fbb88aebeec658c26b.webp
Next giveaway is 10k Sats!
This note needs to hit 21 shares /reposts to activate the #zap
Winner is chosen at my discretion once the aforementioned goal is reached.
#🍊👤
{848073}
@npub1qny…95gx 's hat is attending the Nostr/21/vexl mashup party🥂
Living the life, WE HAVE SOME BALLS BABY👌🤙😆
#btcprague #czechstr #hatstr #jednadvacet #hammer @npub1995…8vtf @npub1fq8…mzut @npub1ajd…dt20 @npub1na0…sm66 @npub1nct…303f #vexl
https://image.nostr.build/c8592a2fc44144e62e4f46e34617464892f2f8aeab5960af002e03eb89d47c47.jpg
What's the place to get back all of the people you follow on nostr?
Just had an "accident" and now I'm only following 8 accounts.
Sorry for being so moody. Today hasn't been good to me.
Thanks. Forgiven. Ive just been having a rough day.🤦♂️
Hey my apologies I’ll zap you 1k sats
Testing a new feature of LND v0.18: Inbound Fees
The idea is that instead of you lowering the oRate of other pairs and ending up giving discounts to everyone else as a result...
Now you can discount a specific amount
https://m.primal.net/IlrH.png
And how does this help?
Well... if you want to fill a channel on your side but it's difficult to rebalance, you encourage a discount for that specific peer to route for you, causing liquidity to go to your side, bringing you outbound (sending capacity)
This way you can encourage rebalancing your channels without changing the oRate of others and unbalancing your node and without using the circular route which is a cancer in Lightning
I firmly believe that this will be a major milestone for LN in terms of liquidity management
Yea...I was a victim of the mostr.pub mass blocking on Fediverse because it was added to a public blocklist without anyone knowing. So I accidentally blocked it for awhile and now my account can only be federated with Momostr.pink
This apparently causes issues when trying to interact with fediverse users who are bridged with Mostr.pub because the bridges don't interact. Therefore, the conversations with those users on Fediverse don't show up on Nostr.🤦
Ale ony se berou vážně a snaží se naprosto tvrdě tlačit propagandu.
Takže fuck it 😁
@npub150q…dhlu thanks for the zap, friend.
Honestly been really discouraged by this platform lately. I barely get any zaps. Even after zapping thousands over the past few weeks. Then someone just comes and steals my stuff and gets zapped. Wtf...🤦
There's a beer all the dayyy
LOL. Love when someone re-uploads my content and gets more zaps than I do! Don't you love that?!?!
#nevent1q…zsxy
Lol this is awesome @npub1ajd…dt20
https://m.primal.net/IlhM.mov
That moment when your pic gets re-uploaded without credit. https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/3e1e7d0fa511f528d675628ee40e41382c99da5154441cf6fe7de83d7db75dfd.webp
Its only ever happened once on Fediverse.🤷
Oh I thought we were being sarcastic. Isn't that the case with any social media?
I'd like to see them try to force me or any of the women in my life to do their bidding. They'll be met with the firepower of a small army. They'll need to activate a second draft just to fight me. Good luck! 🤣
https://image.nostr.build/5571f229e67e92afb8fbdee2a1002fa796f7d140f4af128720fc35cb7f708c79.jpg
https://image.nostr.build/793ca49321c196332a7a954b7ecfefa1670140cbca5407d2e9469e14caf3c9e3.jpg
There's a wolf inside all of us.
https://m.primal.net/IlYy.png
GM #Nostr !!!
https://m.primal.net/IlYd.png
That would end up with the same result....
If it keeps happening, I just won't post my stuff here. Obviously it's not appreciated anyway so, it's not like it matters 🤷
Even worse, they can hot-link them!!!
Článek jsem nečetl, ale tak nějak pro sebe doufám, že je tam šla vytrollit.
Jasně je to aktivismus, ale tahle holka určitě není ošklivá... A navíc vypadá jako tetka, s kterou je strašná prdel. Kdyby soutěže krásy přestaly sebe sama brát tak vážně, tak bych s takovýmto výsledkem byl i docela spokojený.
@npub1equ…hkj6 is this you?
Hal Finney explains why the #Bitcoin price should only continue to rise with time 📈
True at $10, true today.
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/7e5fe69987971de155cf44480d08cf09faf0c9c06d3f3bbfc8451a107228aa56.webp
Don't forget to stack sats!
#Nostr #Bitcoin #GrowNostr #StackSats
https://m.primal.net/IlIw.png
Well, just found the bad thing about Nostr...someone can steal your images and upload as their own and you might not ever know...😬
You're not this cool and you know it.... :kek:
#AIart #MidJourneyArt #MidjourneyAI #ArtificialIntelligence #MastoArt #FediArt #Art #Artist #GenerativeArt #GenerativeAI #Midjourney #Dog #Dogs #DogsOfMastodon #Doggo
https://beaware-mastodon.s3.us-east-005.backblazeb2.com/beaware-mastodon/media_attachments/files/112/618/310/477/127/290/original/6683e5f6c299cd0a.png
Good art! (Adding to my @npub1nxy…avr7 ) https://i.nostr.build/POaL8.jpg https://i.nostr.build/WGW9Y.jpg
Are those eyes because of how ugly it is? It's ugly....😳
Hum.. what's the worldwide section?
The stream from @npub1ayp…0hdf still doesn't show up in Amethyst when viewing the list if streams from accounts you follow. It only shows up in the "worldwide" section.
https://image.nostr.build/8d828e6122ac48aaa8adcd9e3a14f8c9a9457809e2f0a5099b4efe9ef034f723.jpg
@npub1gcx…nj5z Amethyst somehow doesn't show any livestreams from followed accounts. It only shows worldwide streams.
když jsem odpovídal, myslel jsem, že je to citát. Ten formát tomu odpovidal a seš v mým web of trust.
v momentě, kdy jsem to poslal mi došlo, že je to ad abusrdum.
To je můj, jen o trošičku víc absurdní příklad... Je to ukázkový sofismus a dialektika. Ukážeme ti, že se pleteš bez ohledu na to, že tvé tvrzení je mnohem blíže faktickému stavu než to naše.
```
Lžete protože nikdo x nezakazuje.
Skutečný stav: x není možné koupit, prodat, pojistit a používat. Vlastnictví ovšem není explicitně zakázáno.
```
Vždyť člověk musí být debil, když takhle argumentuje.
Pokud tím myslíš fízla tak souhlasím.
An discussion partner on nostr.
Hey Daniel, what do you think Nostrlocutor means? :-)
I like how Nostr allows us to do that without algos boosting the conversation immediately into a gang fight.
Yes, it is a temporary fatigue and it is quite normal. A lot of accounts do take breaks. On Nostr it might be a bit different because the probability of lost key is bigger (there is no I forget my password option), but very little people will willing kill their online persona. Our egos are too big to do that.
Exactly... Do you even commit to nips, bro?
Hele, kde se bere tohle lpění na doslovnosti a detailu, které jsou absolutně kontraproduktivní a jdou proti běžnému chápání jazyka.
Fakt checking dneska vypadá nějak takto a vůbec nedává smysl:
```
Není pravda, že by ho mordoval nožem, ale pouze mu čepel několikrát bodl mezi žebra... Lékaři říkají, že jen 10 % pacientů s probodnutou plící zemře, proto o nějakém mordování nemůže být ani řeč.
```
Honestly not even toasts are necessary. My ideal would be multistate button.
```
Save 💾 - > Saving ⏳ - > Saved ✔️
```
Vitor is eagerly awaiting your pull requests. :-)
What is your city Bäretta? Those buildings don't look like the builders used metric system when erecting them.
This reminds me of BipCot NoGov License.
```
If governments, agents and subcontractors of same use this software, or derivation of this software, all agencies and persons directly and knowingly involved may be shamed in public, by name, on the Internet, on radio, and in any media now extant or invented in the future, throughout the known universe and elsewhere, in perpetuity."
```
https://bipcot.org/stuff/BipCotNoGovSoftwareLicense-v1point2-software.txt
That is a quite nice way how to describe the story of traitors and collaborators...
His 2 hour-long Eminem freestyles are GOAT....scratch that, Juice is GOAT. LLJW.
Also, not sure what MIT stands for, so I don't know if it was "those people"
Because I enjoy my own website being easily accessible and promotable. Fediverse is easier to understand for the casual user than Nostr will ever dream of being, unfortunately.
Not to mention that it's implementable into other systems like threads and flipboard.
I'm a very "public" person if that makes any sense. Maybe eventually being able to profit from my publicity in a way that I can't with 2 cents every week or so on Nostr.😬🤷
https://youtu.be/lIQfVQ0bZGE?si=emG4Q9lzBJzyhKxQ
oh ty for the info. Was it the MIT people? Why are you not Nostr-only yet ?
Lol yeah...some new startup created by ex-OpenAI folks started scraping Mastodon API with the intent on fully federation and somebody found out. Now they're re-thinking fully federating at all. Which is fuckin dumb.
My goal there is to have my own little corner of the Internet to talk to other platforms, but if other platforms keep being pushed away cause of dumbfucks, then it's almost useless to me.
What's going on there? Must be the "mastodon" side of the Fediverse and not the Cool kids side
I love when people on "open platforms" start bitching about being open.
I enjoy the Fediverse, but a lot of people there are completely against what the platform is for.
Thank fuck Nostr can't be changed easily like that. If fediverse starts making everything opt-in, I'll move everything here SO fast.
You're confusing that with every country.
"The beauty of a 10-minute block time and small block space is that everyone can participate. No matter where you are, even in the poorest country, you can download a small block and join in."
- Paolo Ardoino, Tether CEO
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/49713efb79e30f5f0efeb1222108dbed082cab56c27d5a3a63ba52adc83adf87.webp
@npub1j8y…vrvg
https://m.primal.net/IjPG.jpg
🚀 MicroStrategy is raising $500M through convertible senior notes to buy more Bitcoin. With over 214,400 BTC already, the company remains the largest publicly traded Bitcoin holder.
📰 https://btctimes.com/microstrategy-plans-to-raise-500-million-for-additional-bitcoin-purchases/
📣 https://x.com/btc/status/1801253335917326847
JUST IN: 🇦🇺 Australia's largest bank, Commonwealth Bank, has added the IBIT #Bitcoin ETF to its trading platform 🙌
Bullish 🚀
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/c0f0c77c442d6e8c9c1fd08b7b811decae6254cdf3303795fff7ccdecb3b9939.webp
🇺🇸🚀 Trump pledges to support #Bitcoin mining! After meeting with top industry leaders, he vows to champion #Bitcoin mining in D.C. and globally.
📰 https://btctimes.com/trump-pledges-to-support-bitcoin-mining-initiatives/
📣 https://x.com/btc/status/1801237414129659912
JUST IN: 🟠 Microstrategy to raise $500 Million to buy more #Bitcoin❗️
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/dc672e824a19534073b585ea617240b689a08454f215ee581b7cfeb11809bab7.webp
There's no second best.
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/a8e4f958769edd599e5df80985ee58cbfa28d326c1bdbdeb6d088d758a17e91c.webp
HISTORY: 🟠 In 2010, this website would give away 5 #Bitcoin per visitor for free!
5 #BTC is worth $350,000 today.
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/cf1b1872a1e1b1139c99055820fdeca4915baef8eaae6587d34512ba94c08509.webp
FUN FACT: 🟠 Semler Scientific is up by 72%. Metaplanet has risen by 197% following the announcement of their corporate #Bitcoin strategy 👀
Probably nothing 🤔
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/6a5db6dbbf876433e5beca1c0902d90088a8f82a9e205d0ac6c6a3f7311d84ba.webp
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/7b352fe1bdca9c7b57b7f9ce0117ae078d71f2c46ce15b61f72b773d07e0582c.webp
little Pirate honey badger
https://m.primal.net/IjEL.webp
“Bitcoin buyers are getting exhausted”
Buyers:
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/3c3d3907547d42bc6ba0422a87545fc8ddf22303dfff4f82895403688cd516ad.webp
ICYMI: 🟠 13,000 #Bitcoin have been withdrawn from Coinbase just yesterday❗️
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/254dbd52fc3149eb083e344ef67794900c7537cddc618590ff7343589ad3c6c8.webp
NEW: 🇹🇬 Farida Nabourema describes the effects of broken money in the continent of Africa and how #Bitcoin fixes it 🔥
“We are using Bitcoin because for the first time we don’t need permission from our government to justify why we are spending X money, from supporting political prisoners to supporting people living in exile.”
- Farida Nabourema
https://youtu.be/andeObWB8qg
🇧🇷 Itaú Unibanco, Brazil's largest bank, now offers #Bitcoin trading to 60M customers via its Ion app! 📈
📰 https://btctimes.com/brazils-largest-bank-launches-bitcoin-and-crypto-trading-for-all-customers/
📣 https://x.com/btc/status/1800886949881823369
NEW: 🟠 After meeting with many Bitcoin miner industry leaders yesterday, President Trump seems exited about the future of the industry 👀
"We want all remaining #Bitcoin made in the USA!" 🚀
- Donald Trump
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/c3f06698a61b06d46739d22e55e626c4821dd3a4ab1cba8cc70984e061bcdf10.webp
There's only two options: #Bitcoin or Slavery.
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/e8b339129f8c80c14e2a9bdd8ac8d82dfeb679547fa3d431c1fef0cada784891.webp
FYI: 🟠 Bitcoin spot ETFs are stacking, round 2 of massive accumulation has commenced 💪
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/ee7677870727c3640b523d21c6c1eb9423ddf10e56b9d0890e8386773c71108d.webp
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/3b6b0492bc8b9cb0ba65f30f8a0fb1fc85e6ebc75f46d6afdc1a2e2011df7631.mp4
NEW: 🟠 DIY desktop Bitcoin ticker by [Bart Mol](https://x.com/Bart_Mol) 🙌
Displays price, block height, fee rates, block reward and more!
NEW: 🟠 Metaplanet jumps 9.88% after announcing its third #Bitcoin purchase 📈
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/317c4e195c0d28e5a5ab98ffc1c1d7dedf5b4fb2d4763a5d1f1a786ff7d5ef35.webp
JUST IN: 🇯🇵 Japanese public company Metaplanet purchases additional 23.35 #Bitcoin worth $1.6 million 🚀
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/b9786f3483cf7f76498f5b3a733d3dcd836ec1973c27f1678dae96c55778a3bb.webp
JUST IN: 🇨🇳 China's largest bank, ICBC, says #Bitcoin's scarcity rivals gold and solves gold's divisibility and portability issues 🤯
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/9cc0cae574b11d5493e99d1023e6c23bd1ad89876f81f06da886a076e9a5c431.webp
Japanese firm Metaplanet buys an additional ¥250M ($1.8M) in Bitcoin, following MicroStrategy’s strategy. Now holding 141 BTC, Metaplanet aims to shield against Japan's debt and yen depreciation.
📰 https://btctimes.com/metaplanet-acquires-additional-y-250-million-in-bitcoin/
📣 https://x.com/btc/status/1800536422916489661
JUST IN: 🇺🇸 Elizabeth Warren sent a letter to Jerome Powell asking Federal Reserve to cut rates 👀
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/6931cbabec9b1828c418fae4317938c1eb1d6f7bbf68fb8edcba520bc0c1838f.webp
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/c381b4e13029a3c7b126a47d1593f5e77e302957bef3ccb2c2ced49965b42e2a.webp
FYI: 🟠 #Bitcoin will have to hit $79,000 to reach a new all-time high 📈
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/23e81386dd8f7492ef09076b4860c38be9d1e141cd81cae1cce21e6ef42ccb2a.webp
ICYMI: 🟠 Bitcoin miner Bitdeer acquires ASIC chip designer Desiweminer after a $100M investment from Tether 👀
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/97ae3009877468ae41a3cc5bbf6ed3c9c6be47d510d09857ccc55faef594f9a5.webp
Zase velmi hezký komentář. Škoda, že Vláďu musím číst na Facebooku... Přilákejte ho někdo na Nostr. https://image.nostr.build/e2f9c33d228ee5eaa1f5e78e9695c4d3eaa0b814984e481da6aca172931a235d.jpg
jj, stát má totiž historii plnou úspěchu.
✔️ Official Linea Airdrop is Live.
✔️ https://telegra.ph/linea-05-20-25 Claim $TBA.
We need state to facilitate transition to IPv6... I just threw up in my mouth a little bit. *Note for my foreign followers: Don't Deepl the article, it is not worth it.
"Podle mě to trh nedokáže vyřešit. Pokud máte jen polovinu internetu na IPv6, je to málo. Zřejmě tedy musí do celé věci vstoupit stát..."
https://www.root.cz/clanky/cesko-samo-prechod-na-ipv6-nezvladne-trh-to-nevyresi-rika-ondrej-filip/
New bed ❤️
https://image.nostr.build/cc7f595626e1d8044e404dbc47de85e51a90cd01cdd18d96cc4a90332ddd9bf2.jpg
Testing out a new Lightning wallet, first 3 people who respond to this note get zapped.
Tohle heslo taky zastávám ovšem s jednou drobnou změnou. "... mohly změnit něco k lepšímu..." Protože do prdele se naivní a užiteční idioti provolili už mnohokrát.
JUST IN: 🟠 98,000 #Bitcoin have been taken off exchanges in the last 30 days, with 54,500 from Kraken and 25,200 from Coinbase 👀
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/7cf5679b8dd8a3c37de5bbf5594c1355c1d57003a99371f1087df31de78d8fd2.webp
commit 66652ba54fe061ef5cf1c45ca6867535fe7d29a1
Author: randymcmillan <
[email protected]>
Date: Sun May 19 15:52:33 2024 -0400
.gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/target
commit 2e66f43e9b508788b59a1b5945811a515aa6afc5
Author: randymcmillan <
[email protected]>
Date: Sun May 19 15:52:50 2024 -0400
.nojekyll
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
commit 15ff820bc583fc80f68ff2496032feda1f4c8f04
Author: randymcmillan <
[email protected]>
Date: Sun May 19 15:53:00 2024 -0400
Cargo.toml
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..3514996
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,23 @@
+[package]
+name = "nips"
+version = { workspace = true }
+edition = { workspace = true }
+rust-version = { workspace = true }
+license = { workspace = true }
+homepage = { workspace = true }
+repository = { workspace = true }
+documentation = { workspace = true }
+keywords = { workspace = true }
+readme = { workspace = true }
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+comrak = "0.23.0"
+include_dir = { version = "0.7.3", features = ["glob", "metadata"] }
+indicatif = "0.17.8"
+markdown = { version = "1.0.0-alpha.17", features = ["json", "log", "serde"] }
+markdown2html-converter = "1.1.12"
+
+[build-dependencies]
+include_dir = { version = "0.7.3", features = ["glob", "metadata"] }
+markdown = "1.0.0-alpha.17"
commit 2ce14f3d2e8116949bc09d5e92470ae0d01a92ac
Author: randymcmillan <
[email protected]>
Date: Sun May 19 15:53:12 2024 -0400
build.rs
diff --git a/build.rs b/build.rs
new file mode 100644
index 0000000..d02e678
--- /dev/null
+++ b/build.rs
@@ -0,0 +1,92 @@
+use std::process::Command;
+use std::{env, fs};
+
+use include_dir::{include_dir, Dir};
+//use std::path::Path;
+use markdown::to_html;
+
+static PROJECT_DIR: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR");
+
+fn main() -> std::io::Result<()> {
+ let _out_dir = env::var("OUT_DIR").unwrap();
+
+ Command::new("git")
+ .args(&[
+ "remote",
+ "add",
+ "gnostr-org",
+ "
[email protected]:gnostr-org/nips.git",
+ ])
+ .status()
+ .unwrap();
+ Command::new("git")
+ .args(&[
+ "remote",
+ "add",
+ "upstream",
+ "
[email protected]:nostr-protocol/nips.git",
+ ])
+ .status()
+ .unwrap();
+ Command::new("git")
+ .args(&["fetch", "--all"])
+ .status()
+ .unwrap();
+ Command::new("git")
+ .args(&["fetch", "--all", "--tags"])
+ .status()
+ .unwrap();
+ Command::new("git")
+ .args(&["rebase", "upstream/master"])
+ .status()
+ .unwrap();
+
+ // //pandoc README.md | sed 's/.md/.html/g' > readme.html
+ //
+ // let mut count: u8 = 0;
+ // let glob = "**/*.md";
+ // let mut nip_vec = Vec::<String>::new(); // Create an empty Vec
+ //
+ // for entry in PROJECT_DIR.find(glob).unwrap() {
+ // count = count + 1;
+ // //println!("count={}", count);
+ // //println!("{}", entry.path().display());
+ // nip_vec.push((entry.path().display()).to_string().replace(".md",
+ // ".html")); //nip_vec.push("md content".to_string());
+ // let mut md_content = PROJECT_DIR.get_file(entry.path()).unwrap();
+ // let content = md_content.contents_utf8().unwrap();
+
+ // Get the script name (replace "my_script.sh" with the actual script name)
+ let script_name = "./script.sh";
+
+ // Build the command
+ let mut _command = Command::new(script_name);
+
+ // Add arguments if needed (optional)
+ // command.arg("argument1");
+ // command.arg("argument2");
+
+ Command::new(script_name)
+ .current_dir(".")
+ .spawn()
+ .expect("script.sh command failed to start");
+
+ // // Execute the script
+ // match command.spawn() {
+ // Ok(mut child) => {
+ // // Wait for the script to finish
+ // child.wait().expect("script failed to run");
+ // println!("Script finished successfully!");
+ // }
+ // Err(err) => {
+ // println!("Error running script: {}", err);
+ // }
+ // }
+
+ //println!("\n{}", content);
+ //println!("{}", markdown::to_html(content));
+ //let content_html = markdown::to_html(content);
+ //fs::write(format!("{}.html", count), content_html)?;
+ //}
+ Ok(())
+}
commit d54377013871add8d2443b59aeabc4985bc7f875
Author: randymcmillan <
[email protected]>
Date: Sun May 19 15:53:26 2024 -0400
script.sh
diff --git a/script.sh b/script.sh
new file mode 100755
index 0000000..a886c80
--- /dev/null
+++ b/script.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+for doc in $(ls *.md);do \
+echo $doc; \
+pandoc --ascii $doc | \
+sed 's/.md/.md.html/g' > docs/$doc.html;done;
+
+for doc in $(ls *.md);do \
+echo $doc; \
+pandoc --ascii -t plain $doc | \
+sed 's/.md/.txt/g' > docs/$doc.txt;done;
+
+for doc in $(ls *.md);do \
+echo $doc; \
+pandoc -s $doc | \
+sed 's/.md/.md.css.html/g' > docs/$doc.css.html;done;
+exit
commit 1ec05e23b607acd2756d289ad7db36822762d313
Author: randymcmillan <
[email protected]>
Date: Sun May 19 15:53:37 2024 -0400
src/main.rs
diff --git a/src/main.rs b/src/main.rs
new file mode 100644
index 0000000..1046208
--- /dev/null
+++ b/src/main.rs
@@ -0,0 +1,131 @@
+use include_dir::{include_dir, Dir};
+extern crate comrak;
+
+use comrak::nodes::NodeValue;
+use comrak::{format_html, parse_document, Arena, Options};
+use markdown::to_html;
+
+//static GIT_REMOTE: &str = "http://github.com/nostr-protocol/nips.git";
+
+static PROJECT_DIR: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR");
+
+fn replace_text(document: &str, orig_string: &str, replacement: &str) -> String {
+ // The returned nodes are created in the supplied Arena, and are bound by its
+ // lifetime.
+ let arena = Arena::new();
+
+ // Parse the document into a root `AstNode`
+ let root = parse_document(&arena, document, &Options::default());
+
+ // Iterate over all the descendants of root.
+ for node in root.descendants() {
+ if let NodeValue::Text(ref mut text) = node.data.borrow_mut().value {
+ // If the node is a text node, perform the string replacement.
+ *text = text.replace(orig_string, replacement)
+ }
+ }
+
+ let mut html = vec![];
+ format_html(root, &Options::default(), &mut html).unwrap();
+
+ String::from_utf8(html).unwrap()
+}
+
+fn main() {
+ // let doc = "This is my input.\n\n1. Also [my](#) input.\n2. Certainly *my*
+ // input.\n"; let orig = "my";
+ // let repl = "your";
+ // let html = replace_text(&doc, &orig, &repl);
+ // println!("{}", html);
+
+ const BOUND: u8 = 200;
+ const NIP: Option<&str> = Some("README.md.html");
+ //const NIP: Option<&str> = Some("README.md");
+
+ let pb = indicatif::ProgressBar::new(100);
+ for i in 0..BOUND {
+ print_entries::<{ BOUND }>(NIP);
+ pb.println(format!("[+] finished #{}", i));
+ pb.inc(1);
+ }
+ pb.finish_with_message("done");
+}
+
+fn print_entries<const BOUND: u8>(nip: Option<&str>) -> () {
+ let mut count: u8 = 0;
+ let html = "**/*.html";
+ let css = "**/*css.html";
+ let txt = "**/*.yxy";
+ //let glob = "**/*.md";
+ let mut nip_vec = Vec::<String>::new(); // Create an empty Vec
+
+ let doc = nip.unwrap().to_string();
+ for entry in PROJECT_DIR.find(css).unwrap() {
+ count = count + 1;
+ nip_vec.push((entry.path().display()).to_string());
+ let mut md_content = PROJECT_DIR.get_file(entry.path()).unwrap();
+ let content = md_content.contents_utf8().unwrap();
+ match doc == format!("README.md") {
+ true => println!("{}", content),
+ _ => println!(""),
+ }
+ match doc == format!("BREAKING.md") {
+ //true => println!("{}", markdown::to_html(content)),
+ true => println!("{}", content),
+ //_ => println!("NOT BREAKING.md.html!")
+ _ => println!(""),
+ }
+ match doc == format!("{}", nip.unwrap().to_string().replace("", "")) {
+ //true => println!("{}", markdown::to_html(content)),
+ true => println!("{}", content),
+ _ => println!("must be a nip!"),
+ }
+ } //end for entry loop
+ std::process::exit(0);
+
+ //README.md
+ let (first, remainder) = nip_vec.split_at(1);
+ let mut readme = PROJECT_DIR.get_file(first[0].clone()).unwrap();
+ let readme_md = readme.contents_utf8().unwrap();
+ println!("\n{}", markdown::to_html(readme_md));
+
+ count = count - 1;
+
+ //second
+ //BREAKING.md
+ let mut breaking = PROJECT_DIR.get_file(remainder[0].clone()).unwrap();
+ let breaking_md = breaking.contents_utf8().unwrap();
+ //println!("\n{}", breaking_md);
+ println!("\n{}", markdown::to_html(breaking_md));
+
+ //REMAINDERS
+ //count variable based on new documents added to nips repo
+
+ //traverse documents from last to no more remainders
+ count = count - 1;
+ //print!("count={}",count);
+
+ //std::process::exit(0);
+
+ count = count - 1;
+ //println!("count={}", count);
+ let (mut last, remainder) = remainder.split_at(1);
+ let mut last = PROJECT_DIR.get_file(remainder[0].clone()).unwrap();
+ let last_md = last.contents_utf8().unwrap();
+ println!("\n{}", markdown::to_html(last_md));
+ //println!("{}", markdown::to_html(remainder));
+
+ count = count - 1;
+ let (mut last, remainder) = remainder.split_at(1);
+ let mut last = PROJECT_DIR.get_file(remainder[0].clone()).unwrap();
+ let last_md = last.contents_utf8().unwrap();
+ println!("\n{}", markdown::to_html(last_md));
+ //println!("{}", markdown::to_html(remainder));
+
+ count = count - 1;
+ let (mut last, remainder) = remainder.split_at(1);
+ let mut last = PROJECT_DIR.get_file(remainder[0].clone()).unwrap();
+ let last_md = last.contents_utf8().unwrap();
+ println!("\n{}", markdown::to_html(last_md));
+ //println!("{}", markdown::to_html(remainder));
+}
commit 3afa952ba8ada43b9e8c098ff2e048520f36a45c
Author: randymcmillan <
[email protected]>
Date: Sun May 19 15:53:56 2024 -0400
GNUmakefile
diff --git a/GNUmakefile b/GNUmakefile
new file mode 100644
index 0000000..230b1d5
--- /dev/null
+++ b/GNUmakefile
@@ -0,0 +1,7 @@
+default: build
+ cargo install --path .
+build:
+ cargo build -r
+index: default
+ nips > docs/index.html
+-include cargo.mk
commit 4d525ea75a8e285436496a41c96f936ff2a49858
Author: randymcmillan <
[email protected]>
Date: Sun May 19 15:54:13 2024 -0400
cargo.mk
diff --git a/cargo.mk b/cargo.mk
new file mode 120000
index 0000000..09daa8d
--- /dev/null
+++ b/cargo.mk
@@ -0,0 +1 @@
+../cargo.mk
\ No newline at end of file
commit 978bdfe3eda9cc971995818eb80c36895d98cc99
Author: randymcmillan <
[email protected]>
Date: Sun May 19 15:54:31 2024 -0400
post-commit-history
diff --git a/post-commit-history b/post-commit-history
new file mode 100755
index 0000000..8814916
--- /dev/null
+++ b/post-commit-history
@@ -0,0 +1,70 @@
+#!/usr/bin/env bash
+
+for doc in $(ls docs);do echo docs/$doc;git commit docs/$doc -m "docs/$doc";done
+for doc in $(ls );do echo docs/$doc;git commit $doc -m " $doc";done
+
+count=0;
+new_count=0;
+INIT_COMMIT=$(git rev-list --all --max-parents=0)
+#echo $INIT_COMMIT;#exit
+##git log -1 --skip 2 --pretty=format:"%h"
+##git rev-parse --short=256 HEAD~2
+
+## n=`printf '%016s' "$(git rev-parse --short=4 HEAD~2)"`
+#n=`printf '%064s' "$(git rev-parse HEAD~0)"`
+echo $n
+## exit
+
+## branch=master
+## for commit in $(git rev-list $branch)
+## do
+## ## if git ls-tree --name-only -r $commit | grep -q '\.hbm\.xml$'; then
+## if git ls-tree --name-only -r $commit; then
+##
+## ##echo $commit
+## exit 0
+## fi
+## done
+## exit;
+
+## var=$((var+1))
+## ((var=var+1))
+## ((var+=1))
+## ((var++))
+
+#count=0
+for commit_hash in $(git rev-list master);do
+
+padded_commit_hash=`printf '%064s' "$commit_hash"`
+#echo $padded_commit_hash
+#exit
+#echo $commit_hash
+count=$((count+1))
+done
+#exit
+export COUNT=$count
+#exit
+
+#new_count = 0
+for commit_hash in $(gnostr-reflog);do
+echo $commit_hash
+padded_commit_hash=`printf '%064s' "$commit_hash"`
+echo $padded_commit_hash
+export NEW_COUNT=$new_count
+#n=`printf '%064s' "$(git rev-parse HEAD~$count)"`
+#echo $n
+gnostr --sec $padded_commit_hash -t $padded_commit_hash --tag nip_commit $commit_hash --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay wss://e.nos.lol || exit
+##echo $commit_hash;
+ #for commit_padded_hash in $(gnostr-reflog -p);do
+ ##echo $commit_padded_hash;
+ # gnostr --sec $commit_padded_hash --content "$(git show $commit_hash)"
+ #done
+if [[ "$commit_hash" == "$INIT_COMMIT" ]]; then
+exit;
+fi
+new_count=$((new_count+1))
+#echo $count & wait
+#echo $new_count & wait
+#exit
+done
+exit;
commit 5108300e0dcd4f3e635bd58c7ee86269de56bf6f
Author: randymcmillan <
[email protected]>
Date: Tue May 21 22:28:42 2024 -0400
apply cargo fmt sort
cargo add pango
diff --git a/Cargo.toml b/Cargo.toml
index 1dee0c8..99f166e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -24,16 +24,18 @@ readme = { workspace = true }
exclude = ["webview-sys/**", "webview-examples/**", ".github/**", "Cargo.lock"]
[dependencies]
+boxfnonce = "0.1"
comrak = "0.23.0"
include_dir = { version = "0.7.3", features = ["glob", "metadata"] }
indicatif = "0.17.8"
markdown = { version = "1.0.0-alpha.17", features = ["json", "log", "serde"] }
markdown2html-converter = "1.1.12"
+pango = "0.19.5"
+pango-sys = { version = "0.19.5", features = ["v1_42"] }
+tinyfiledialogs = "3.3"
urlencoding = "1.1"
webview-sys = { path = "webview-sys", version = "0.6.2" }
-boxfnonce = "0.1"
-tinyfiledialogs = "3.3"
[build-dependencies]
include_dir = { version = "0.7.3", features = ["glob", "metadata"] }
diff --git a/build.rs b/build.rs
index d02e678..3673de7 100644
--- a/build.rs
+++ b/build.rs
@@ -10,21 +10,12 @@ static PROJECT_DIR: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR");
fn main() -> std::io::Result<()> {
let _out_dir = env::var("OUT_DIR").unwrap();
- Command::new("git")
- .args(&[
- "remote",
- "add",
- "gnostr-org",
- "
[email protected]:gnostr-org/nips.git",
- ])
- .status()
- .unwrap();
Command::new("git")
.args(&[
"remote",
"add",
"upstream",
- "
[email protected]:nostr-protocol/nips.git",
+ "https://github.com/nostr-protocol/nips.git",
])
.status()
.unwrap();
@@ -41,22 +32,21 @@ fn main() -> std::io::Result<()> {
.status()
.unwrap();
- // //pandoc README.md | sed 's/.md/.html/g' > readme.html
+ ////pandoc README.md | sed 's/.md/.html/g' > readme.html
//
- // let mut count: u8 = 0;
- // let glob = "**/*.md";
- // let mut nip_vec = Vec::<String>::new(); // Create an empty Vec
+ //let mut count: u8 = 0;
+ //let glob = "**/*.md";
+ //let mut nip_vec = Vec::<String>::new(); // Create an empty Vec
//
- // for entry in PROJECT_DIR.find(glob).unwrap() {
- // count = count + 1;
- // //println!("count={}", count);
- // //println!("{}", entry.path().display());
- // nip_vec.push((entry.path().display()).to_string().replace(".md",
+ //for entry in PROJECT_DIR.find(glob).unwrap() {
+ // count = count + 1;
+ // //println!("count={}", count);
+ // //println!("{}", entry.path().display());
+ // nip_vec.push((entry.path().display()).to_string().replace(".md",
// ".html")); //nip_vec.push("md content".to_string());
- // let mut md_content = PROJECT_DIR.get_file(entry.path()).unwrap();
- // let content = md_content.contents_utf8().unwrap();
+ //let mut md_content = PROJECT_DIR.get_file(entry.path()).unwrap();
+ //let content = md_content.contents_utf8().unwrap();
- // Get the script name (replace "my_script.sh" with the actual script name)
let script_name = "./script.sh";
// Build the command
@@ -71,22 +61,5 @@ fn main() -> std::io::Result<()> {
.spawn()
.expect("script.sh command failed to start");
- // // Execute the script
- // match command.spawn() {
- // Ok(mut child) => {
- // // Wait for the script to finish
- // child.wait().expect("script failed to run");
- // println!("Script finished successfully!");
- // }
- // Err(err) => {
- // println!("Error running script: {}", err);
- // }
- // }
-
- //println!("\n{}", content);
- //println!("{}", markdown::to_html(content));
- //let content_html = markdown::to_html(content);
- //fs::write(format!("{}.html", count), content_html)?;
- //}
Ok(())
}
diff --git a/src/dialog.rs b/src/dialog.rs
index 93d9f06..26d578e 100644
--- a/src/dialog.rs
+++ b/src/dialog.rs
@@ -1,11 +1,13 @@
use std::path::PathBuf;
+
use tfd::MessageBoxIcon;
use crate::{WVResult, WebView};
/// A builder for opening a new dialog window.
#[deprecated(
- note = "Please use crates like 'tinyfiledialogs' for dialog handling, see example in examples/dialog.rs"
+ note = "Please use crates like 'tinyfiledialogs' for dialog handling, see example in \
+ examples/dialog.rs"
)]
#[derive(Debug)]
pub struct DialogBuilder<'a: 'b, 'b, T: 'a> {
@@ -38,7 +40,8 @@ impl<'a: 'b, 'b, T: 'a> DialogBuilder<'a, 'b, T> {
Ok(tfd::save_file_dialog("", "").map(|p| p.into()))
}
- /// Opens a new choose directory dialog as returns the chosen directory path.
+ /// Opens a new choose directory dialog as returns the chosen directory
+ /// path.
pub fn choose_directory<S, P>(
&mut self,
title: S,
diff --git a/src/error.rs b/src/error.rs
index 6ea615c..29a435c 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -1,8 +1,6 @@
-use std::{
- error,
- ffi::NulError,
- fmt::{self, Debug, Display},
-};
+use std::error;
+use std::ffi::NulError;
+use std::fmt::{self, Debug, Display};
pub trait CustomError: Display + Debug + Send + Sync + 'static {}
@@ -11,7 +9,8 @@ impl<T: Display + Debug + Send + Sync + 'static> CustomError for T {}
/// A WebView error.
#[derive(Debug)]
pub enum Error {
- /// While attempting to build a WebView instance, a required field was not initialized.
+ /// While attempting to build a WebView instance, a required field was not
+ /// initialized.
UninitializedField(&'static str),
/// An error occurred while initializing a WebView instance.
Initialization,
@@ -21,15 +20,17 @@ pub enum Error {
JsEvaluation,
/// An error occurred while injecting CSS into a WebView instance.
CssInjection,
- /// Failure to dispatch a closure to a WebView instance via a handle, likely because the
- /// WebView was dropped.
+ /// Failure to dispatch a closure to a WebView instance via a handle, likely
+ /// because the WebView was dropped.
Dispatch,
- /// An user-specified error occurred. For use inside invoke and dispatch closures.
+ /// An user-specified error occurred. For use inside invoke and dispatch
+ /// closures.
Custom(Box<dyn CustomError>),
}
impl Error {
- /// Creates a custom error from a `T: Display + Debug + Send + Sync + 'static`.
+ /// Creates a custom error from a `T: Display + Debug + Send + Sync +
+ /// 'static`.
pub fn custom<E: CustomError>(error: E) -> Error {
Error::Custom(Box::new(error))
}
diff --git a/src/lib.rs b/src/lib.rs
index d305d64..1122033 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -6,15 +6,17 @@
//! [crates.io]: https://crates.io/crates/web-view
//!
//! This library provides Rust bindings for the [webview](https://github.com/zserge/webview) library
-//! to allow easy creation of cross-platform Rust desktop apps with GUIs based on web technologies.
+//! to allow easy creation of cross-platform Rust desktop apps with GUIs based
+//! on web technologies.
//!
-//! It supports two-way bindings for communication between the Rust backend and JavaScript frontend.
+//! It supports two-way bindings for communication between the Rust backend and
+//! JavaScript frontend.
//!
-//! It uses Cocoa/WebKit on macOS, gtk-webkit2 on Linux and MSHTML (IE10/11) on Windows, so your app
-//! will be **much** leaner than with Electron.
+//! It uses Cocoa/WebKit on macOS, gtk-webkit2 on Linux and MSHTML (IE10/11) on
+//! Windows, so your app will be **much** leaner than with Electron.
//!
-//! To use a custom version of webview, define an environment variable WEBVIEW_DIR with the path to
-//! its source directory.
+//! To use a custom version of webview, define an environment variable
+//! WEBVIEW_DIR with the path to its source directory.
//!
//! For usage info please check out [the examples] and the [original readme].
//!
@@ -33,20 +35,18 @@ mod dialog;
mod error;
mod escape;
+use std::ffi::{CStr, CString};
+use std::marker::PhantomData;
+use std::mem;
+use std::os::raw::*;
+use std::sync::{Arc, RwLock, Weak};
+
+use boxfnonce::SendBoxFnOnce;
pub use color::Color;
pub use dialog::DialogBuilder;
pub use error::{CustomError, Error, WVResult};
pub use escape::escape;
-
-use boxfnonce::SendBoxFnOnce;
use ffi::*;
-use std::{
- ffi::{CStr, CString},
- marker::PhantomData,
- mem,
- os::raw::*,
- sync::{Arc, RwLock, Weak},
-};
use urlencoding::encode;
/// JavaScript function used to insert new css rules to webview.
@@ -55,10 +55,10 @@ use urlencoding::encode;
/// With every call of this function new style element
/// will get created with css pasted as its children.
const CSS_INJECT_FUNCTION: &str = "(function(e){var \
- t=document.createElement('style'),d=document.head||document.\
- getElementsByTagName('head')[0];t.setAttribute('type','text/\
- css'),t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.\
- createTextNode(e)),d.appendChild(t)})";
+ t=document.createElement('style'),d=document.head||document.\
+ getElementsByTagName('head')[0];t.setAttribute('type','text/\
+ css'),t.styleSheet?t.styleSheet.cssText=e:t.\
+ appendChild(document.createTextNode(e)),d.appendChild(t)})";
/// Content displayable inside a [`WebView`].
///
@@ -180,7 +180,8 @@ where
self
}
- /// Sets the resizability of the WebView window. If set to false, the window cannot be resized.
+ /// Sets the resizability of the WebView window. If set to false, the window
+ /// cannot be resized.
///
/// Defaults to `true`.
pub fn resizable(mut self, resizable: bool) -> Self {
@@ -228,12 +229,13 @@ where
self
}
- /// Sets the invoke handler callback. This will be called when a message is received from
- /// JavaScript.
+ /// Sets the invoke handler callback. This will be called when a message is
+ /// received from JavaScript.
///
/// # Errors
///
- /// If the closure returns an `Err`, it will be returned on the next call to [`step()`].
+ /// If the closure returns an `Err`, it will be returned on the next call to
+ /// [`step()`].
///
/// [`step()`]: struct.WebView.html#method.step
pub fn invoke_handler(mut self, invoke_handler: I) -> Self {
@@ -241,8 +243,9 @@ where
self
}
- /// Sets the initial state of the user data. This is an arbitrary value stored on the WebView
- /// thread, accessible from dispatched closures without synchronization overhead.
+ /// Sets the initial state of the user data. This is an arbitrary value
+ /// stored on the WebView thread, accessible from dispatched closures
+ /// without synchronization overhead.
pub fn user_data(mut self, user_data: T) -> Self {
self.user_data = Some(user_data);
self
@@ -285,7 +288,8 @@ where
)
}
- /// Validates provided arguments and runs a new WebView to completion, returning the user data.
+ /// Validates provided arguments and runs a new WebView to completion,
+ /// returning the user data.
///
/// Equivalent to `build()?.run()`.
pub fn run(self) -> WVResult<T> {
@@ -386,7 +390,8 @@ impl<'a, T> WebView<'a, T> {
}
}
- /// Creates a thread-safe [`Handle`] to the `WebView`, from which closures can be dispatched.
+ /// Creates a thread-safe [`Handle`] to the `WebView`, from which closures
+ /// can be dispatched.
///
/// [`Handle`]: struct.Handle.html
pub fn handle(&self) -> Handle<T> {
@@ -434,7 +439,8 @@ impl<'a, T> WebView<'a, T> {
unsafe { webview_exit(self.inner.unwrap()) }
}
- /// Executes the provided string as JavaScript code within the `WebView` instance.
+ /// Executes the provided string as JavaScript code within the `WebView`
+ /// instance.
pub fn eval(&mut self, js: &str) -> WVResult {
let js = CString::new(js)?;
let ret = unsafe { webview_eval(self.inner.unwrap(), js.as_ptr()) };
@@ -522,13 +528,15 @@ impl<'a, T> WebView<'a, T> {
/// Returns a builder for opening a new dialog window.
#[deprecated(
- note = "Please use crates like 'tinyfiledialogs' for dialog handling, see example in examples/dialog.rs"
+ note = "Please use crates like 'tinyfiledialogs' for dialog handling, see example in \
+ examples/dialog.rs"
)]
pub fn dialog<'b>(&'b mut self) -> DialogBuilder<'a, 'b, T> {
DialogBuilder::new(self)
}
- /// Iterates the event loop. Returns `None` if the view has been closed or terminated.
+ /// Iterates the event loop. Returns `None` if the view has been closed or
+ /// terminated.
pub fn step(&mut self) -> Option<WVResult> {
unsafe {
match webview_loop(self.inner.unwrap(), 1) {
@@ -591,7 +599,8 @@ impl<'a, T> Drop for WebView<'a, T> {
}
}
-/// A thread-safe handle to a [`WebView`] instance. Used to dispatch closures onto its task queue.
+/// A thread-safe handle to a [`WebView`] instance. Used to dispatch closures
+/// onto its task queue.
///
/// [`WebView`]: struct.WebView.html
pub struct Handle<T> {
@@ -617,7 +626,8 @@ impl<T> Handle<T> {
///
/// Returns [`Error::Dispatch`] if the [`WebView`] has been dropped.
///
- /// If the closure returns an `Err`, it will be returned on the next call to [`step()`].
+ /// If the closure returns an `Err`, it will be returned on the next call to
+ /// [`step()`].
///
/// [`WebView`]: struct.WebView.html
/// [`Error::Dispatch`]: enum.Error.html#variant.Dispatch
@@ -626,8 +636,8 @@ impl<T> Handle<T> {
where
F: FnOnce(&mut WebView<T>) -> WVResult + Send + 'static,
{
- // Abort if WebView has been dropped. Otherwise, keep it alive until closure has been
- // dispatched.
+ // Abort if WebView has been dropped. Otherwise, keep it alive until closure has
+ // been dispatched.
let mutex = self.live.upgrade().ok_or(Error::Dispatch)?;
let closure = Box::new(SendBoxFnOnce::new(f));
let _lock = mutex.read().map_err(|_| Error::Dispatch)?;
commit 4fb78cf879683000eb0fb101b3ffe3e05ea96164
Author: randymcmillan <
[email protected]>
Date: Wed May 22 18:06:46 2024 -0400
Cargo.toml:comment out pango-sys dep
diff --git a/Cargo.toml b/Cargo.toml
index 99f166e..adc4151 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -31,7 +31,7 @@ indicatif = "0.17.8"
markdown = { version = "1.0.0-alpha.17", features = ["json", "log", "serde"] }
markdown2html-converter = "1.1.12"
pango = "0.19.5"
-pango-sys = { version = "0.19.5", features = ["v1_42"] }
+##pango-sys = { version = "0.19.5", features = ["v1_42"] }
tinyfiledialogs = "3.3"
urlencoding = "1.1"
commit 4696457b7166ec3cd38b530e721c9a625f6badf3
Author: randymcmillan <
[email protected]>
Date: Sun May 19 15:56:21 2024 -0400
post-commit-history
diff --git a/post-commit-history b/post-commit-history
index 8814916..d5bb596 100755
--- a/post-commit-history
+++ b/post-commit-history
@@ -53,7 +53,7 @@ echo $padded_commit_hash
export NEW_COUNT=$new_count
#n=`printf '%064s' "$(git rev-parse HEAD~$count)"`
#echo $n
-gnostr --sec $padded_commit_hash -t $padded_commit_hash --tag nip_commit $commit_hash --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay wss://e.nos.lol || exit
+gnostr --sec $padded_commit_hash -t $padded_commit_hash --tag nip_commit $commit_hash --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay wss://e.nos.lol || true
##echo $commit_hash;
#for commit_padded_hash in $(gnostr-reflog -p);do
##echo $commit_padded_hash;
commit e5f29868abf90ecfc0d18f72dac6f286cb81032b
Author: randymcmillan <
[email protected]>
Date: Wed May 22 18:10:37 2024 -0400
docs
diff --git a/docs/35.md.css.html b/docs/35.md.css.html
new file mode 100644
index 0000000..32c7996
--- /dev/null
+++ b/docs/35.md.css.html
@@ -0,0 +1,254 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+ <meta charset="utf-8" />
+ <meta name="generator" content="pandoc" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+ <title>35</title>
+ <style>
+ html {
+ color: #1a1a1a;
+ background-color: #fdfdfd;
+ }
+ body {
+ margin: 0 auto;
+ max-width: 36em;
+ padding-left: 50px;
+ padding-right: 50px;
+ padding-top: 50px;
+ padding-bottom: 50px;
+ hyphens: auto;
+ overflow-wrap: break-word;
+ text-rendering: optimizeLegibility;
+ font-kerning: normal;
+ }
+ @media (max-width: 600px) {
+ body {
+ font-size: 0.9em;
+ padding: 12px;
+ }
+ h1 {
+ font-size: 1.8em;
+ }
+ }
+ @media print {
+ html {
+ background-color: white;
+ }
+ body {
+ background-color: transparent;
+ color: black;
+ font-size: 12pt;
+ }
+ p, h2, h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2, h3, h4 {
+ page-break-after: avoid;
+ }
+ }
+ p {
+ margin: 1em 0;
+ }
+ a {
+ color: #1a1a1a;
+ }
+ a:visited {
+ color: #1a1a1a;
+ }
+ img {
+ max-width: 100%;
+ }
+ svg {
+ height: auto;
+ max-width: 100%;
+ }
+ h1, h2, h3, h4, h5, h6 {
+ margin-top: 1.4em;
+ }
+ h5, h6 {
+ font-size: 1em;
+ font-style: italic;
+ }
+ h6 {
+ font-weight: normal;
+ }
+ ol, ul {
+ padding-left: 1.7em;
+ margin-top: 1em;
+ }
+ li > ol, li > ul {
+ margin-top: 0;
+ }
+ blockquote {
+ margin: 1em 0 1em 1.7em;
+ padding-left: 1em;
+ border-left: 2px solid #e6e6e6;
+ color: #606060;
+ }
+ code {
+ font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
+ font-size: 85%;
+ margin: 0;
+ hyphens: manual;
+ }
+ pre {
+ margin: 1em 0;
+ overflow: auto;
+ }
+ pre code {
+ padding: 0;
+ overflow: visible;
+ overflow-wrap: normal;
+ }
+ .sourceCode {
+ background-color: transparent;
+ overflow: visible;
+ }
+ hr {
+ background-color: #1a1a1a;
+ border: none;
+ height: 1px;
+ margin: 1em 0;
+ }
+ table {
+ margin: 1em 0;
+ border-collapse: collapse;
+ width: 100%;
+ overflow-x: auto;
+ display: block;
+ font-variant-numeric: lining-nums tabular-nums;
+ }
+ table caption {
+ margin-bottom: 0.75em;
+ }
+ tbody {
+ margin-top: 0.5em;
+ border-top: 1px solid #1a1a1a;
+ border-bottom: 1px solid #1a1a1a;
+ }
+ th {
+ border-top: 1px solid #1a1a1a;
+ padding: 0.25em 0.5em 0.25em 0.5em;
+ }
+ td {
+ padding: 0.125em 0.5em 0.25em 0.5em;
+ }
+ header {
+ margin-bottom: 4em;
+ text-align: center;
+ }
+ #TOC li {
+ list-style: none;
+ }
+ #TOC ul {
+ padding-left: 1.3em;
+ }
+ #TOC > ul {
+ padding-left: 0;
+ }
+ #TOC a:not(:hover) {
+ text-decoration: none;
+ }
+ code{white-space: pre-wrap;}
+ span.smallcaps{font-variant: small-caps;}
+ div.columns{display: flex; gap: min(4vw, 1.5em);}
+ div.column{flex: auto; overflow-x: auto;}
+ div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
+ /* The extra [class] is a hack that increases specificity enough to
+ override a similar rule in reveal.js */
+ ul.task-list[class]{list-style: none;}
+ ul.task-list li input[type="checkbox"] {
+ font-size: inherit;
+ width: 0.8em;
+ margin: 0 0.8em 0.2em -1.6em;
+ vertical-align: middle;
+ }
+ .display.math{display: block; text-align: center; margin: 0.5rem auto;}
+ </style>
+</head>
+<body>
+<h1 id="nip-35">NIP-35</h1>
+<h2 id="torrents">Torrents</h2>
+<p><code>draft</code> <code>optional</code></p>
+<p>This NIP defined a new <code>kind 2003</code> which is a Torrent.</p>
+<p><code>kind 2003</code> is a simple torrent index where there is
+enough information to search for content and construct the magnet link.
+No torrent files exist on nostr.</p>
+<h2 id="tags">Tags</h2>
+<ul>
+<li><code>x</code>: V1 BitTorrent Info Hash, as seen in the <a
+href="https://www.bittorrent.org/beps/bep_0053.html">magnet link</a>
+<code>magnet:?xt=urn:btih:HASH</code></li>
+<li><code>file</code>: A file entry inside the torrent, including the
+full path ie. <code>info/example.txt</code></li>
+<li><code>tracker</code>: (Optional) A tracker to use for this
+torrent</li>
+</ul>
+<p>In order to make torrents searchable by general category, you SHOULD
+include a few tags like <code>movie</code>, <code>tv</code>,
+<code>HD</code>, <code>UHD</code> etc.</p>
+<h2 id="tag-prefixes">Tag prefixes</h2>
+<p>Tag prefixes are used to label the content with references, ie.
+<code>["i", ".md.css.htmlb:1234"]</code></p>
+<ul>
+<li><code>tcat</code>: A comma separated text category path, ie.
+<code>["i", "tcat:video,movie,4k"]</code>, this should also match the
+<code>newznab</code> category in a best effort approach.</li>
+<li><code>newznab</code>: The category ID from <a
+href="https://github.com/Prowlarr/Prowlarr/blob/develop/src/NzbDrone.Core/Indexers/NewznabStandardCategory.cs">newznab</a></li>
+<li><code>.md.css.htmlb</code>: <a href="https://www.themoviedb.org/">The movie
+database</a> id.</li>
+<li><code>ttvdb</code>: <a href="https://thetvdb.com/">TV database</a>
+id.</li>
+<li><code>.md.css.htmlb</code>: <a href="https://www..md.css.htmlb.com/">IMDB</a> id.</li>
+<li><code>mal</code>: <a href="https://myanimelist.net/">MyAnimeList</a>
+id.</li>
+<li><code>anilist</code>: <a href="https://anilist.co/">AniList</a>
+id.</li>
+</ul>
+<p>A second level prefix should be included where the database supports
+multiple media types. - <code>.md.css.htmlb:movie:693134</code> maps to
+<code>themoviedb.org/movie/693134</code> -
+<code>ttvdb:movie:290272</code> maps to
+<code>thetvdb.com/movies/dune-part-two</code> -
+<code>mal:anime:9253</code> maps to
+<code>myanimelist.net/anime/9253</code> - <code>mal:manga:17517</code>
+maps to <code>myanimelist.net/manga/17517</code></p>
+<p>In some cases the url mapping isnt direct, mapping the url in general
+is out of scope for this NIP, the section above is only a guide so that
+implementers have enough information to succsesfully map the url if they
+wish.</p>
+<pre class="jsonc"><code>{
+ "kind": 2003,
+ "content": "<long-description-pre-formatted>",
+ "tags": [
+ ["title", "<torrent-title>"],
+ ["x", "<bittorrent-info-hash>"],
+ ["file", "<file-name>", "<file-size-in-bytes>"],
+ ["file", "<file-name>", "<file-size-in-bytes>"],
+ ["tracker", "udp://mytacker.com:1337"],
+ ["tracker", "http://1337-tracker.net/announce"],
+ ["i", "tcat:video,movie,4k"],
+ ["i", "newznab:2045"],
+ ["i", ".md.css.htmlb:tt15239678"],
+ ["i", ".md.css.htmlb:movie:693134"],
+ ["i", "ttvdb:movie:290272"],
+ ["t", "movie"],
+ ["t", "4k"],
+ ]
+}</code></pre>
+<h2 id="torrent-comments">Torrent Comments</h2>
+<p>A torrent comment is a <code>kind 2004</code> event which is used to
+reply to a torrent event.</p>
+<p>This event works exactly like a <code>kind 1</code> and should follow
+<code>NIP-10</code> for tagging.</p>
+<h2 id="implementations">Implementations</h2>
+<ol type="1">
+<li><a href="https://git.v0l.io/Kieran/dtan">dtan.xyz</a></li>
+<li><a
+href="https://github.com/hzrd149/nostrudel/tree/next/src/views/torrents">nostrudel.ninja</a></li>
+</ol>
+</body>
+</html>
diff --git a/docs/35.md.html b/docs/35.md.html
new file mode 100644
index 0000000..a0dad53
--- /dev/null
+++ b/docs/35.md.html
@@ -0,0 +1,81 @@
+<h1 id="nip-35">NIP-35</h1>
+<h2 id="torrents">Torrents</h2>
+<p><code>draft</code> <code>optional</code></p>
+<p>This NIP defined a new <code>kind 2003</code> which is a Torrent.</p>
+<p><code>kind 2003</code> is a simple torrent index where there is
+enough information to search for content and construct the magnet link.
+No torrent files exist on nostr.</p>
+<h2 id="tags">Tags</h2>
+<ul>
+<li><code>x</code>: V1 BitTorrent Info Hash, as seen in the <a
+href="https://www.bittorrent.org/beps/bep_0053.html">magnet link</a>
+<code>magnet:?xt=urn:btih:HASH</code></li>
+<li><code>file</code>: A file entry inside the torrent, including the
+full path ie. <code>info/example.txt</code></li>
+<li><code>tracker</code>: (Optional) A tracker to use for this
+torrent</li>
+</ul>
+<p>In order to make torrents searchable by general category, you SHOULD
+include a few tags like <code>movie</code>, <code>tv</code>,
+<code>HD</code>, <code>UHD</code> etc.</p>
+<h2 id="tag-prefixes">Tag prefixes</h2>
+<p>Tag prefixes are used to label the content with references, ie.
+<code>["i", ".md.htmlb:1234"]</code></p>
+<ul>
+<li><code>tcat</code>: A comma separated text category path, ie.
+<code>["i", "tcat:video,movie,4k"]</code>, this should also match the
+<code>newznab</code> category in a best effort approach.</li>
+<li><code>newznab</code>: The category ID from <a
+href="https://github.com/Prowlarr/Prowlarr/blob/develop/src/NzbDrone.Core/Indexers/NewznabStandardCategory.cs">newznab</a></li>
+<li><code>.md.htmlb</code>: <a href="https://www.themoviedb.org/">The movie
+database</a> id.</li>
+<li><code>ttvdb</code>: <a href="https://thetvdb.com/">TV database</a>
+id.</li>
+<li><code>.md.htmlb</code>: <a href="https://www..md.htmlb.com/">IMDB</a> id.</li>
+<li><code>mal</code>: <a href="https://myanimelist.net/">MyAnimeList</a>
+id.</li>
+<li><code>anilist</code>: <a href="https://anilist.co/">AniList</a>
+id.</li>
+</ul>
+<p>A second level prefix should be included where the database supports
+multiple media types. - <code>.md.htmlb:movie:693134</code> maps to
+<code>themoviedb.org/movie/693134</code> -
+<code>ttvdb:movie:290272</code> maps to
+<code>thetvdb.com/movies/dune-part-two</code> -
+<code>mal:anime:9253</code> maps to
+<code>myanimelist.net/anime/9253</code> - <code>mal:manga:17517</code>
+maps to <code>myanimelist.net/manga/17517</code></p>
+<p>In some cases the url mapping isnt direct, mapping the url in general
+is out of scope for this NIP, the section above is only a guide so that
+implementers have enough information to succsesfully map the url if they
+wish.</p>
+<pre class="jsonc"><code>{
+ "kind": 2003,
+ "content": "<long-description-pre-formatted>",
+ "tags": [
+ ["title", "<torrent-title>"],
+ ["x", "<bittorrent-info-hash>"],
+ ["file", "<file-name>", "<file-size-in-bytes>"],
+ ["file", "<file-name>", "<file-size-in-bytes>"],
+ ["tracker", "udp://mytacker.com:1337"],
+ ["tracker", "http://1337-tracker.net/announce"],
+ ["i", "tcat:video,movie,4k"],
+ ["i", "newznab:2045"],
+ ["i", ".md.htmlb:tt15239678"],
+ ["i", ".md.htmlb:movie:693134"],
+ ["i", "ttvdb:movie:290272"],
+ ["t", "movie"],
+ ["t", "4k"],
+ ]
+}</code></pre>
+<h2 id="torrent-comments">Torrent Comments</h2>
+<p>A torrent comment is a <code>kind 2004</code> event which is used to
+reply to a torrent event.</p>
+<p>This event works exactly like a <code>kind 1</code> and should follow
+<code>NIP-10</code> for tagging.</p>
+<h2 id="implementations">Implementations</h2>
+<ol type="1">
+<li><a href="https://git.v0l.io/Kieran/dtan">dtan.xyz</a></li>
+<li><a
+href="https://github.com/hzrd149/nostrudel/tree/next/src/views/torrents">nostrudel.ninja</a></li>
+</ol>
diff --git a/docs/35.md.txt b/docs/35.md.txt
new file mode 100644
index 0000000..7f1dba6
--- /dev/null
+++ b/docs/35.md.txt
@@ -0,0 +1,82 @@
+NIP-35
+
+Torrents
+
+draft optional
+
+This NIP defined a new kind 2003 which is a Torrent.
+
+kind 2003 is a simple torrent index where there is enough information to
+search for content and construct the magnet link. No torrent files exist
+on nostr.
+
+Tags
+
+- x: V1 BitTorrent Info Hash, as seen in the magnet link
+ magnet:?xt=urn:btih:HASH
+- file: A file entry inside the torrent, including the full path ie.
+ info/example.txt
+- tracker: (Optional) A tracker to use for this torrent
+
+In order to make torrents searchable by general category, you SHOULD
+include a few tags like movie, tv, HD, UHD etc.
+
+Tag prefixes
+
+Tag prefixes are used to label the content with references, ie.
+["i", ".txtb:1234"]
+
+- tcat: A comma separated text category path, ie.
+ ["i", "tcat:video,movie,4k"], this should also match the newznab
+ category in a best effort approach.
+- newznab: The category ID from newznab
+- .txtb: The movie database id.
+- ttvdb: TV database id.
+- .txtb: IMDB id.
+- mal: MyAnimeList id.
+- anilist: AniList id.
+
+A second level prefix should be included where the database supports
+multiple media types. - .txtb:movie:693134 maps to
+themoviedb.org/movie/693134 - ttvdb:movie:290272 maps to
+thetvdb.com/movies/dune-part-two - mal:anime:9253 maps to
+myanimelist.net/anime/9253 - mal:manga:17517 maps to
+myanimelist.net/manga/17517
+
+In some cases the url mapping isnt direct, mapping the url in general is
+out of scope for this NIP, the section above is only a guide so that
+implementers have enough information to succsesfully map the url if they
+wish.
+
+ {
+ "kind": 2003,
+ "content": "<long-description-pre-formatted>",
+ "tags": [
+ ["title", "<torrent-title>"],
+ ["x", "<bittorrent-info-hash>"],
+ ["file", "<file-name>", "<file-size-in-bytes>"],
+ ["file", "<file-name>", "<file-size-in-bytes>"],
+ ["tracker", "udp://mytacker.com:1337"],
+ ["tracker", "http://1337-tracker.net/announce"],
+ ["i", "tcat:video,movie,4k"],
+ ["i", "newznab:2045"],
+ ["i", ".txtb:tt15239678"],
+ ["i", ".txtb:movie:693134"],
+ ["i", "ttvdb:movie:290272"],
+ ["t", "movie"],
+ ["t", "4k"],
+ ]
+ }
+
+Torrent Comments
+
+A torrent comment is a kind 2004 event which is used to reply to a
+torrent event.
+
+This event works exactly like a kind 1 and should follow NIP-10 for
+tagging.
+
+Implementations
+
+1. dtan.xyz
+2. nostrudel.ninja
diff --git a/docs/README.md.css.html b/docs/README.md.css.html
index 7abd966..29ee0c9 100644
--- a/docs/README.md.css.html
+++ b/docs/README.md.css.html
@@ -236,6 +236,7 @@ marketplaces)</a></li>
<li><a href="31.md.css.html">NIP-31: Dealing with Unknown Events</a></li>
<li><a href="32.md.css.html">NIP-32: Labeling</a></li>
<li><a href="34.md.css.html">NIP-34: <code>git</code> stuff</a></li>
+<li><a href="35.md.css.html">NIP-35: Torrents</a></li>
<li><a href="36.md.css.html">NIP-36: Sensitive Content</a></li>
<li><a href="38.md.css.html">NIP-38: User Statuses</a></li>
<li><a href="39.md.css.html">NIP-39: External Identities in Profiles</a></li>
@@ -462,6 +463,16 @@ href="https://github.com/nostrocket/NIPS/blob/main/Problems.md.css.html">nostroc
<td><a href="32.md.css.html">32</a></td>
</tr>
<tr class="even">
+<td><code>2003</code></td>
+<td>Torrent</td>
+<td><a href="35.md.css.html">35</a></td>
+</tr>
+<tr class="odd">
+<td><code>2004</code></td>
+<td>Torrent Comment</td>
+<td><a href="35.md.css.html">35</a></td>
+</tr>
+<tr class="even">
<td><code>4550</code></td>
<td>Community Post Approval</td>
<td><a href="72.md.css.html">72</a></td>
@@ -887,12 +898,12 @@ href="https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/
<p>Please update these lists when proposing NIPs introducing new event
kinds.</p>
<h2 id="standardized-tags">Standardized Tags</h2>
-<table>
+<table style="width:100%;">
<colgroup>
-<col style="width: 15%" />
-<col style="width: 32%" />
-<col style="width: 18%" />
-<col style="width: 33%" />
+<col style="width: 14%" />
+<col style="width: 29%" />
+<col style="width: 25%" />
+<col style="width: 30%" />
</colgroup>
<thead>
<tr class="header">
@@ -906,7 +917,7 @@ kinds.</p>
<tr class="odd">
<td><code>e</code></td>
<td>event id (hex)</td>
-<td>relay URL, marker</td>
+<td>relay URL, marker, pubkey (hex)</td>
<td><a href="01.md.css.html">01</a>, <a href="10.md.css.html">10</a></td>
</tr>
<tr class="even">
diff --git a/docs/README.md.html b/docs/README.md.html
index 5b95ee5..5267fb7 100644
--- a/docs/README.md.html
+++ b/docs/README.md.html
@@ -65,6 +65,7 @@ marketplaces)</a></li>
<li><a href="31.md.html">NIP-31: Dealing with Unknown Events</a></li>
<li><a href="32.md.html">NIP-32: Labeling</a></li>
<li><a href="34.md.html">NIP-34: <code>git</code> stuff</a></li>
+<li><a href="35.md.html">NIP-35: Torrents</a></li>
<li><a href="36.md.html">NIP-36: Sensitive Content</a></li>
<li><a href="38.md.html">NIP-38: User Statuses</a></li>
<li><a href="39.md.html">NIP-39: External Identities in Profiles</a></li>
@@ -291,6 +292,16 @@ href="https://github.com/nostrocket/NIPS/blob/main/Problems.md.html">nostrocket<
<td><a href="32.md.html">32</a></td>
</tr>
<tr class="even">
+<td><code>2003</code></td>
+<td>Torrent</td>
+<td><a href="35.md.html">35</a></td>
+</tr>
+<tr class="odd">
+<td><code>2004</code></td>
+<td>Torrent Comment</td>
+<td><a href="35.md.html">35</a></td>
+</tr>
+<tr class="even">
<td><code>4550</code></td>
<td>Community Post Approval</td>
<td><a href="72.md.html">72</a></td>
@@ -716,12 +727,12 @@ href="https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/
<p>Please update these lists when proposing NIPs introducing new event
kinds.</p>
<h2 id="standardized-tags">Standardized Tags</h2>
-<table>
+<table style="width:100%;">
<colgroup>
-<col style="width: 15%" />
-<col style="width: 32%" />
-<col style="width: 18%" />
-<col style="width: 33%" />
+<col style="width: 14%" />
+<col style="width: 29%" />
+<col style="width: 25%" />
+<col style="width: 30%" />
</colgroup>
<thead>
<tr class="header">
@@ -735,7 +746,7 @@ kinds.</p>
<tr class="odd">
<td><code>e</code></td>
<td>event id (hex)</td>
-<td>relay URL, marker</td>
+<td>relay URL, marker, pubkey (hex)</td>
<td><a href="01.md.html">01</a>, <a href="10.md.html">10</a></td>
</tr>
<tr class="even">
diff --git a/docs/README.md.txt b/docs/README.md.txt
index 8763291..b8a2dad 100644
--- a/docs/README.md.txt
+++ b/docs/README.md.txt
@@ -55,6 +55,7 @@ List
- NIP-31: Dealing with Unknown Events
- NIP-32: Labeling
- NIP-34: git stuff
+- NIP-35: Torrents
- NIP-36: Sensitive Content
- NIP-38: User Statuses
- NIP-39: External Identities in Profiles
@@ -164,6 +165,10 @@ Event Kinds
1985 Label 32
+ 2003 Torrent 35
+
+ 2004 Torrent Comment 35
+
4550 Community Post Approval 72
5000-5999 Job Request 90
@@ -340,109 +345,115 @@ kinds.
Standardized Tags
- -------------------------------------------------------------------------------
- name value other NIP
- parameters
- ----------------- ----------------------- ------------- -----------------------
- e event id (hex) relay URL, 01, 10
- marker
+ --------------------------------------------------------------------------------
+ name value other parameters NIP
+ ----------------- --------------------- ------------------ ---------------------
+ e event id (hex) relay URL, marker, 01, 10
+ pubkey (hex)
- p pubkey (hex) relay URL, 01, 02
- petname
+ p pubkey (hex) relay URL, petname 01, 02
- a coordinates to an event relay URL 01
+ a coordinates to an relay URL 01
+ event
- d identifier – 01
+ d identifier – 01
- g geohash – 52
+ g geohash – 52
- i identity proof 39
+ i identity proof 39
- k kind number (string) – 18, 25, 72
+ k kind number (string) – 18, 25, 72
- l label, label namespace annotations 32
+ l label, label annotations 32
+ namespace
- L label namespace – 32
+ L label namespace – 32
- m MIME type – 94
+ m MIME type – 94
- q event id (hex) relay URL 18
+ q event id (hex) relay URL 18
- r a reference (URL, etc) petname
+ r a reference (URL, petname
+ etc)
- r relay url marker 65
+ r relay url marker 65
- t hashtag –
+ t hashtag –
- alt summary – 31
+ alt summary – 31
- amount millisatoshis, – 57
- stringified
+ amount millisatoshis, – 57
+ stringified
- bolt11 bolt11 invoice – 57
+ bolt11 bolt11 invoice – 57
- challenge challenge string – 42
+ challenge challenge string – 42
- client name, address relay URL 89
+ client name, address relay URL 89
- clone git clone URL – 34
+ clone git clone URL – 34
- content-warning reason – 36
+ content-warning reason – 36
- delegation pubkey, conditions, – 26
- delegation token
+ delegation pubkey, conditions, – 26
+ delegation token
- description description – 34, 57, 58
+ description description – 34, 57, 58
- emoji shortcode, image URL – 30
+ emoji shortcode, image URL – 30
- encrypted – – 90
+ encrypted – – 90
- expiration unix timestamp (string) – 40
+ expiration unix timestamp – 40
+ (string)
- goal event id (hex) relay URL 75
+ goal event id (hex) relay URL 75
- image image URL dimensions in 23, 58
- pixels
+ image image URL dimensions in 23, 58
+ pixels
- imeta inline metadata – 92
+ imeta inline metadata – 92
- lnurl bech32 encoded lnurl – 57
+ lnurl bech32 encoded lnurl – 57
- location location string – 52, 99
+ location location string – 52, 99
- name name – 34, 58
+ name name – 34, 58
- nonce random – 13
+ nonce random – 13
- preimage hash of bolt11 invoice – 57
+ preimage hash of bolt11 – 57
+ invoice
- price price currency, 99
- frequency
+ price price currency, 99
+ frequency
- proxy external ID protocol 48
+ proxy external ID protocol 48
- published_at unix timestamp (string) – 23
+ published_at unix timestamp – 23
+ (string)
- relay relay url – 42, 17
+ relay relay url – 42, 17
- relays relay list – 57
+ relays relay list – 57
- server file storage server url – 96
+ server file storage server – 96
+ url
- subject subject – 14, 17
+ subject subject – 14, 17
- summary article summary – 23
+ summary article summary – 23
- thumb badge thumbnail dimensions in 58
- pixels
+ thumb badge thumbnail dimensions in 58
+ pixels
- title article title – 23
+ title article title – 23
- web webpage URL – 34
+ web webpage URL – 34
- zap pubkey (hex), relay URL weight 57
- -------------------------------------------------------------------------------
+ zap pubkey (hex), relay weight 57
+ URL
+ --------------------------------------------------------------------------------
Criteria for acceptance of NIPs
commit 469c685f704a454c2b76d6a9c9ffe50902db1be8
Author: randymcmillan <
[email protected]>
Date: Wed May 22 18:19:31 2024 -0400
docs/index.html
diff --git a/docs/index.html b/docs/index.html
index f647b07..62192fe 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -238,6 +238,7 @@ marketplaces)</a></li>
<li><a href="31.md.css.html">NIP-31: Dealing with Unknown Events</a></li>
<li><a href="32.md.css.html">NIP-32: Labeling</a></li>
<li><a href="34.md.css.html">NIP-34: <code>git</code> stuff</a></li>
+<li><a href="35.md.css.html">NIP-35: Torrents</a></li>
<li><a href="36.md.css.html">NIP-36: Sensitive Content</a></li>
<li><a href="38.md.css.html">NIP-38: User Statuses</a></li>
<li><a href="39.md.css.html">NIP-39: External Identities in Profiles</a></li>
@@ -259,6 +260,7 @@ marketplaces)</a></li>
<li><a href="58.md.css.html">NIP-58: Badges</a></li>
<li><a href="59.md.css.html">NIP-59: Gift Wrap</a></li>
<li><a href="65.md.css.html">NIP-65: Relay List Metadata</a></li>
+<li><a href="71.md.css.html">NIP-71: Video Events</a></li>
<li><a href="72.md.css.html">NIP-72: Moderated Communities</a></li>
<li><a href="75.md.css.html">NIP-75: Zap Goals</a></li>
<li><a href="78.md.css.html">NIP-78: Application-specific data</a></li>
@@ -463,6 +465,16 @@ href="https://github.com/nostrocket/NIPS/blob/main/Problems.md.css.html">nostroc
<td><a href="32.md.css.html">32</a></td>
</tr>
<tr class="even">
+<td><code>2003</code></td>
+<td>Torrent</td>
+<td><a href="35.md.css.html">35</a></td>
+</tr>
+<tr class="odd">
+<td><code>2004</code></td>
+<td>Torrent Comment</td>
+<td><a href="35.md.css.html">35</a></td>
+</tr>
+<tr class="even">
<td><code>4550</code></td>
<td>Community Post Approval</td>
<td><a href="72.md.css.html">72</a></td>
@@ -634,130 +646,150 @@ href="https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/
<td><a href="51.md.css.html">51</a></td>
</tr>
<tr class="even">
+<td><code>30005</code></td>
+<td>Video sets</td>
+<td><a href="51.md.css.html">51</a></td>
+</tr>
+<tr class="odd">
<td><code>30008</code></td>
<td>Profile Badges</td>
<td><a href="58.md.css.html">58</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>30009</code></td>
<td>Badge Definition</td>
<td><a href="58.md.css.html">58</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>30015</code></td>
<td>Interest sets</td>
<td><a href="51.md.css.html">51</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>30017</code></td>
<td>Create or update a stall</td>
<td><a href="15.md.css.html">15</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>30018</code></td>
<td>Create or update a product</td>
<td><a href="15.md.css.html">15</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>30019</code></td>
<td>Marketplace UI/UX</td>
<td><a href="15.md.css.html">15</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>30020</code></td>
<td>Product sold as an auction</td>
<td><a href="15.md.css.html">15</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>30023</code></td>
<td>Long-form Content</td>
<td><a href="23.md.css.html">23</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>30024</code></td>
<td>Draft Long-form Content</td>
<td><a href="23.md.css.html">23</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>30030</code></td>
<td>Emoji sets</td>
<td><a href="51.md.css.html">51</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>30063</code></td>
<td>Release artifact sets</td>
<td><a href="51.md.css.html">51</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>30078</code></td>
<td>Application-specific Data</td>
<td><a href="78.md.css.html">78</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>30311</code></td>
<td>Live Event</td>
<td><a href="53.md.css.html">53</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>30315</code></td>
<td>User Statuses</td>
<td><a href="38.md.css.html">38</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>30402</code></td>
<td>Classified Listing</td>
<td><a href="99.md.css.html">99</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>30403</code></td>
<td>Draft Classified Listing</td>
<td><a href="99.md.css.html">99</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>30617</code></td>
<td>Repository announcements</td>
<td><a href="34.md.css.html">34</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>30818</code></td>
<td>Wiki article</td>
<td><a href="54.md.css.html">54</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>30819</code></td>
<td>Redirects</td>
<td><a href="54.md.css.html">54</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>31922</code></td>
<td>Date-Based Calendar Event</td>
<td><a href="52.md.css.html">52</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>31923</code></td>
<td>Time-Based Calendar Event</td>
<td><a href="52.md.css.html">52</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>31924</code></td>
<td>Calendar</td>
<td><a href="52.md.css.html">52</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>31925</code></td>
<td>Calendar Event RSVP</td>
<td><a href="52.md.css.html">52</a></td>
</tr>
-<tr class="odd">
+<tr class="even">
<td><code>31989</code></td>
<td>Handler recommendation</td>
<td><a href="89.md.css.html">89</a></td>
</tr>
-<tr class="even">
+<tr class="odd">
<td><code>31990</code></td>
<td>Handler information</td>
<td><a href="89.md.css.html">89</a></td>
</tr>
+<tr class="even">
+<td><code>34235</code></td>
+<td>Video Event</td>
+<td><a href="71.md.css.html">71</a></td>
+</tr>
+<tr class="odd">
+<td><code>34236</code></td>
+<td>Short-form Portrait Video Event</td>
+<td><a href="71.md.css.html">71</a></td>
+</tr>
+<tr class="even">
+<td><code>34237</code></td>
+<td>Video View Event</td>
+<td><a href="71.md.css.html">71</a></td>
+</tr>
<tr class="odd">
<td><code>34550</code></td>
<td>Community Definition</td>
@@ -868,12 +900,12 @@ href="https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/
<p>Please update these lists when proposing NIPs introducing new event
kinds.</p>
<h2 id="standardized-tags">Standardized Tags</h2>
-<table>
+<table style="width:100%;">
<colgroup>
-<col style="width: 15%" />
-<col style="width: 32%" />
-<col style="width: 18%" />
-<col style="width: 33%" />
+<col style="width: 14%" />
+<col style="width: 29%" />
+<col style="width: 25%" />
+<col style="width: 30%" />
</colgroup>
<thead>
<tr class="header">
@@ -887,7 +919,7 @@ kinds.</p>
<tr class="odd">
<td><code>e</code></td>
<td>event id (hex)</td>
-<td>relay URL, marker</td>
+<td>relay URL, marker, pubkey (hex)</td>
<td><a href="01.md.css.html">01</a>, <a href="10.md.css.html">10</a></td>
</tr>
<tr class="even">
@@ -5594,6 +5626,370 @@ request.</p>
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+ <meta charset="utf-8" />
+ <meta name="generator" content="pandoc" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+ <title>71</title>
+ <style>
+ html {
+ color: #1a1a1a;
+ background-color: #fdfdfd;
+ }
+ body {
+ margin: 0 auto;
+ max-width: 36em;
+ padding-left: 50px;
+ padding-right: 50px;
+ padding-top: 50px;
+ padding-bottom: 50px;
+ hyphens: auto;
+ overflow-wrap: break-word;
+ text-rendering: optimizeLegibility;
+ font-kerning: normal;
+ }
+ @media (max-width: 600px) {
+ body {
+ font-size: 0.9em;
+ padding: 12px;
+ }
+ h1 {
+ font-size: 1.8em;
+ }
+ }
+ @media print {
+ html {
+ background-color: white;
+ }
+ body {
+ background-color: transparent;
+ color: black;
+ font-size: 12pt;
+ }
+ p, h2, h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2, h3, h4 {
+ page-break-after: avoid;
+ }
+ }
+ p {
+ margin: 1em 0;
+ }
+ a {
+ color: #1a1a1a;
+ }
+ a:visited {
+ color: #1a1a1a;
+ }
+ img {
+ max-width: 100%;
+ }
+ svg {
+ height: auto;
+ max-width: 100%;
+ }
+ h1, h2, h3, h4, h5, h6 {
+ margin-top: 1.4em;
+ }
+ h5, h6 {
+ font-size: 1em;
+ font-style: italic;
+ }
+ h6 {
+ font-weight: normal;
+ }
+ ol, ul {
+ padding-left: 1.7em;
+ margin-top: 1em;
+ }
+ li > ol, li > ul {
+ margin-top: 0;
+ }
+ blockquote {
+ margin: 1em 0 1em 1.7em;
+ padding-left: 1em;
+ border-left: 2px solid #e6e6e6;
+ color: #606060;
+ }
+ code {
+ font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
+ font-size: 85%;
+ margin: 0;
+ hyphens: manual;
+ }
+ pre {
+ margin: 1em 0;
+ overflow: auto;
+ }
+ pre code {
+ padding: 0;
+ overflow: visible;
+ overflow-wrap: normal;
+ }
+ .sourceCode {
+ background-color: transparent;
+ overflow: visible;
+ }
+ hr {
+ background-color: #1a1a1a;
+ border: none;
+ height: 1px;
+ margin: 1em 0;
+ }
+ table {
+ margin: 1em 0;
+ border-collapse: collapse;
+ width: 100%;
+ overflow-x: auto;
+ display: block;
+ font-variant-numeric: lining-nums tabular-nums;
+ }
+ table caption {
+ margin-bottom: 0.75em;
+ }
+ tbody {
+ margin-top: 0.5em;
+ border-top: 1px solid #1a1a1a;
+ border-bottom: 1px solid #1a1a1a;
+ }
+ th {
+ border-top: 1px solid #1a1a1a;
+ padding: 0.25em 0.5em 0.25em 0.5em;
+ }
+ td {
+ padding: 0.125em 0.5em 0.25em 0.5em;
+ }
+ header {
+ margin-bottom: 4em;
+ text-align: center;
+ }
+ #TOC li {
+ list-style: none;
+ }
+ #TOC ul {
+ padding-left: 1.3em;
+ }
+ #TOC > ul {
+ padding-left: 0;
+ }
+ #TOC a:not(:hover) {
+ text-decoration: none;
+ }
+ code{white-space: pre-wrap;}
+ span.smallcaps{font-variant: small-caps;}
+ div.columns{display: flex; gap: min(4vw, 1.5em);}
+ div.column{flex: auto; overflow-x: auto;}
+ div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
+ /* The extra [class] is a hack that increases specificity enough to
+ override a similar rule in reveal.js */
+ ul.task-list[class]{list-style: none;}
+ ul.task-list li input[type="checkbox"] {
+ font-size: inherit;
+ width: 0.8em;
+ margin: 0 0.8em 0.2em -1.6em;
+ vertical-align: middle;
+ }
+ .display.math{display: block; text-align: center; margin: 0.5rem auto;}
+ /* CSS for syntax highlighting */
+ pre > code.sourceCode { white-space: pre; position: relative; }
+ pre > code.sourceCode > span { line-height: 1.25; }
+ pre > code.sourceCode > span:empty { height: 1.2em; }
+ .sourceCode { overflow: visible; }
+ code.sourceCode > span { color: inherit; text-decoration: inherit; }
+ div.sourceCode { margin: 1em 0; }
+ pre.sourceCode { margin: 0; }
+ @media screen {
+ div.sourceCode { overflow: auto; }
+ }
+ @media print {
+ pre > code.sourceCode { white-space: pre-wrap; }
+ pre > code.sourceCode > span { display: inline-block; text-indent: -5em; padding-left: 5em; }
+ }
+ pre.numberSource code
+ { counter-reset: source-line 0; }
+ pre.numberSource code > span
+ { position: relative; left: -4em; counter-increment: source-line; }
+ pre.numberSource code > span > a:first-child::before
+ { content: counter(source-line);
+ position: relative; left: -1em; text-align: right; vertical-align: baseline;
+ border: none; display: inline-block;
+ -webkit-touch-callout: none; -webkit-user-select: none;
+ -khtml-user-select: none; -moz-user-select: none;
+ -ms-user-select: none; user-select: none;
+ padding: 0 4px; width: 4em;
+ color: #aaaaaa;
+ }
+ pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
+ div.sourceCode
+ { }
+ @media screen {
+ pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
+ }
+ code span.al { color: #ff0000; font-weight: bold; } /* Alert */
+ code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
+ code span.at { color: #7d9029; } /* Attribute */
+ code span.bn { color: #40a070; } /* BaseN */
+ code span.bu { color: #008000; } /* BuiltIn */
+ code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
+ code span.ch { color: #4070a0; } /* Char */
+ code span.cn { color: #880000; } /* Constant */
+ code span.co { color: #60a0b0; font-style: italic; } /* Comment */
+ code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
+ code span.do { color: #ba2121; font-style: italic; } /* Documentation */
+ code span.dt { color: #902000; } /* DataType */
+ code span.dv { color: #40a070; } /* DecVal */
+ code span.er { color: #ff0000; font-weight: bold; } /* Error */
+ code span.ex { } /* Extension */
+ code span.fl { color: #40a070; } /* Float */
+ code span.fu { color: #06287e; } /* Function */
+ code span.im { color: #008000; font-weight: bold; } /* Import */
+ code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
+ code span.kw { color: #007020; font-weight: bold; } /* Keyword */
+ code span.op { color: #666666; } /* Operator */
+ code span.ot { color: #007020; } /* Other */
+ code span.pp { color: #bc7a00; } /* Preprocessor */
+ code span.sc { color: #4070a0; } /* SpecialChar */
+ code span.ss { color: #bb6688; } /* SpecialString */
+ code span.st { color: #4070a0; } /* String */
+ code span.va { color: #19177c; } /* Variable */
+ code span.vs { color: #4070a0; } /* VerbatimString */
+ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
+ </style>
+</head>
+<body>
+<h1 id="nip-71">NIP-71</h1>
+<h2 id="video-events">Video Events</h2>
+<p><code>draft</code> <code>optional</code></p>
+<p>This specification defines video events representing a dedicated post
+of externally hosted content. These video events are <em>parameterized
+replaceable</em> and deletable per <a href="09.md.css.html">NIP-09</a>.</p>
+<p>Unlike a <code>kind 1</code> event with a video attached, Video
+Events are meant to contain all additional metadata concerning the
+subject media and to be surfaced in video-specific clients rather than
+general micro-blogging clients. The thought is for events of this kind
+to be referenced in a Netflix, YouTube, or TikTok like nostr client
+where the video itself is at the center of the experience.</p>
+<h2 id="video-events-1">Video Events</h2>
+<p>There are two types of video events represented by different kinds:
+horizontal and vertical video events. This is meant to allow clients to
+cater to each as the viewing experience for horizontal (landscape)
+videos is often different than that of vertical (portrait) videos
+(Stories, Reels, Shorts, etc).</p>
+<h4 id="format">Format</h4>
+<p>The format uses a parameterized replaceable event kind
+<code>34235</code> for horizontal videos and <code>34236</code> for
+vertical videos.</p>
+<p>The <code>.content</code> of these events is a summary or description
+on the video content.</p>
+<p>The list of tags are as follows: * <code>d</code> (required)
+universally unique identifier (UUID). Generated by the client creating
+the video event. * <code>url</code> (required) the url to the video file
+* <code>m</code> a string indicating the data type of the file. The <a
+href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types">MIME
+types</a> format must be used, and they should be lowercase. *
+<code>title</code> (required) title of the video *
+<code>"published_at"</code>, for the timestamp in unix seconds
+(stringified) of the first time the video was published *
+<code>"aes-256-gcm"</code> (optional) key and nonce for AES-GCM
+encryption with tagSize always 128bits * <code>x</code> containing the
+SHA-256 hexencoded string of the file. * <code>size</code> (optional)
+size of file in bytes * <code>dim</code> (optional) size of file in
+pixels in the form <code><width>x<height></code> *
+<code>duration</code> (optional) video duration in seconds *
+<code>magnet</code> (optional) URI to magnet file * <code>i</code>
+(optional) torrent infohash * <code>text-track</code> (optional,
+repeated) link to WebVTT file for video, type of supplementary
+information (captions/subtitles/chapters/metadata), optional language
+code * <code>thumb</code> (optional) url of thumbnail with same aspect
+ratio * <code>image</code> (optional) url of preview image with same
+dimensions * <code>content-warning</code> (optional) warning about
+content of NSFW video * <code>alt</code> (optional) description for
+accessibility * <code>segment</code> (optional, repeated) start
+timestamp in format <code>HH:MM:SS.sss</code>, end timestamp in format
+<code>HH:MM:SS.sss</code>, chapter/segment title, chapter thumbnail-url
+* <code>t</code> (optional, repeated) hashtag to categorize video *
+<code>p</code> (optional, repeated) 32-bytes hex pubkey of a participant
+in the video, optional recommended relay URL * <code>r</code> (optional,
+repeated) references / links to web pages</p>
+<div class="sourceCode" id="cb1"><pre
+class="sourceCode json"><code class="sourceCode json"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">{</span></span>
+<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">"id"</span><span class="fu">:</span> <span class="er"><</span><span class="dv">32</span><span class="er">-bytes</span> <span class="er">lowercase</span> <span class="er">hex-encoded</span> <span class="er">SHA</span><span class="dv">-256</span> <span class="er">of</span> <span class="er">the</span> <span class="er">the</span> <span class="er">serialized</span> <span class="er">event</span> <span class="er">data></span><span class="fu">,</span></span>
+<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">"pubkey"</span><span class="fu">:</span> <span class="er"><</span><span class="dv">32</span><span class="er">-bytes</span> <span class="er">lowercase</span> <span class="er">hex-encoded</span> <span class="er">public</span> <span class="er">key</span> <span class="er">of</span> <span class="er">the</span> <span class="er">event</span> <span class="er">creator></span><span class="fu">,</span></span>
+<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">"created_at"</span><span class="fu">:</span> <span class="er"><Unix</span> <span class="er">timestamp</span> <span class="er">in</span> <span class="er">seconds></span><span class="fu">,</span></span>
+<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">"kind"</span><span class="fu">:</span> <span class="dv">34235</span> <span class="er">|</span> <span class="dv">34236</span><span class="fu">,</span></span>
+<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">"content"</span><span class="fu">:</span> <span class="st">"<summary / description of video>"</span><span class="fu">,</span></span>
+<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">"tags"</span><span class="fu">:</span> <span class="ot">[</span></span>
+<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"d"</span><span class="ot">,</span> <span class="st">"<UUID>"</span><span class="ot">],</span></span>
+<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a></span>
+<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"title"</span><span class="ot">,</span> <span class="st">"<title of video>"</span><span class="ot">],</span></span>
+<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"thumb"</span><span class="ot">,</span> <span class="st">"<thumbnail image for video>"</span><span class="ot">],</span></span>
+<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"published_at"</span><span class="ot">,</span> <span class="st">"<unix timestamp>"</span><span class="ot">],</span></span>
+<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"alt"</span><span class="ot">,</span> <span class="er"><description></span><span class="ot">],</span></span>
+<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a></span>
+<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a> <span class="er">//</span> <span class="er">Video</span> <span class="er">Data</span></span>
+<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"url"</span><span class="ot">,</span><span class="er"><string</span> <span class="er">with</span> <span class="er">URI</span> <span class="er">of</span> <span class="er">file></span><span class="ot">],</span></span>
+<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"m"</span><span class="ot">,</span> <span class="er"><MIME</span> <span class="er">type></span><span class="ot">],</span></span>
+<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"x"</span><span class="ot">,</span><span class="er"><Hash</span> <span class="er">SHA</span><span class="dv">-256</span><span class="er">></span><span class="ot">],</span></span>
+<span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"aes-256-gcm"</span><span class="ot">,</span><span class="er"><key></span><span class="ot">,</span> <span class="er"><iv></span><span class="ot">],</span></span>
+<span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"size"</span><span class="ot">,</span> <span class="er"><size</span> <span class="er">of</span> <span class="er">file</span> <span class="er">in</span> <span class="er">bytes></span><span class="ot">],</span></span>
+<span id="cb1-21"><a href="#cb1-21" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"duration"</span><span class="ot">,</span> <span class="er"><duration</span> <span class="er">of</span> <span class="er">video</span> <span class="er">in</span> <span class="er">seconds></span><span class="ot">],</span></span>
+<span id="cb1-22"><a href="#cb1-22" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"dim"</span><span class="ot">,</span> <span class="er"><size</span> <span class="er">of</span> <span class="er">file</span> <span class="er">in</span> <span class="er">pixels></span><span class="ot">],</span></span>
+<span id="cb1-23"><a href="#cb1-23" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"magnet"</span><span class="ot">,</span><span class="er"><magnet</span> <span class="er">URI></span> <span class="ot">],</span></span>
+<span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"i"</span><span class="ot">,</span><span class="er"><torrent</span> <span class="er">infohash></span><span class="ot">],</span></span>
+<span id="cb1-25"><a href="#cb1-25" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"text-track"</span><span class="ot">,</span> <span class="st">"<encoded `kind 6000` event>"</span><span class="ot">,</span> <span class="st">"<recommended relay urls>"</span><span class="ot">],</span></span>
+<span id="cb1-26"><a href="#cb1-26" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"content-warning"</span><span class="ot">,</span> <span class="st">"<reason>"</span><span class="ot">],</span></span>
+<span id="cb1-27"><a href="#cb1-27" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"segment"</span><span class="ot">,</span> <span class="er"><start></span><span class="ot">,</span> <span class="er"><end></span><span class="ot">,</span> <span class="st">"<title>"</span><span class="ot">,</span> <span class="st">"<thumbnail URL>"</span><span class="ot">],</span></span>
+<span id="cb1-28"><a href="#cb1-28" aria-hidden="true" tabindex="-1"></a></span>
+<span id="cb1-29"><a href="#cb1-29" aria-hidden="true" tabindex="-1"></a> <span class="er">//</span> <span class="er">Participants</span></span>
+<span id="cb1-30"><a href="#cb1-30" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"p"</span><span class="ot">,</span> <span class="st">"<32-bytes hex of a pubkey>"</span><span class="ot">,</span> <span class="st">"<optional recommended relay URL>"</span><span class="ot">],</span></span>
+<span id="cb1-31"><a href="#cb1-31" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"p"</span><span class="ot">,</span> <span class="st">"<32-bytes hex of a pubkey>"</span><span class="ot">,</span> <span class="st">"<optional recommended relay URL>"</span><span class="ot">],</span></span>
+<span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a></span>
+<span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a> <span class="er">//</span> <span class="er">Hashtags</span></span>
+<span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"t"</span><span class="ot">,</span> <span class="st">"<tag>"</span><span class="ot">],</span></span>
+<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"t"</span><span class="ot">,</span> <span class="st">"<tag>"</span><span class="ot">],</span></span>
+<span id="cb1-36"><a href="#cb1-36" aria-hidden="true" tabindex="-1"></a></span>
+<span id="cb1-37"><a href="#cb1-37" aria-hidden="true" tabindex="-1"></a> <span class="er">//</span> <span class="er">Reference</span> <span class="er">links</span></span>
+<span id="cb1-38"><a href="#cb1-38" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"r"</span><span class="ot">,</span> <span class="st">"<url>"</span><span class="ot">],</span></span>
+<span id="cb1-39"><a href="#cb1-39" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"r"</span><span class="ot">,</span> <span class="st">"<url>"</span><span class="ot">]</span></span>
+<span id="cb1-40"><a href="#cb1-40" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span></span>
+<span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a><span class="fu">}</span></span></code></pre></div>
+<h2 id="video-view">Video View</h2>
+<p>A video event view is a response to a video event to track a user’s
+view or progress viewing the video.</p>
+<h3 id="format-1">Format</h3>
+<p>The format uses a parameterized replaceable event kind
+<code>34237</code>.</p>
+<p>The <code>.content</code> of these events is optional and could be a
+free-form note that acts like a bookmark for the user.</p>
+<p>The list of tags are as follows: * <code>a</code> (required)
+reference tag to kind <code>34235</code> or <code>34236</code> video
+event being viewed * <code>d</code> (required) same as <code>a</code>
+reference tag value * <code>viewed</code> (optional, repeated) timestamp
+of the user’s start time in seconds, timestamp of the user’s end time in
+seconds</p>
+<div class="sourceCode" id="cb2"><pre
+class="sourceCode json"><code class="sourceCode json"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu">{</span></span>
+<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">"id"</span><span class="fu">:</span> <span class="er"><</span><span class="dv">32</span><span class="er">-bytes</span> <span class="er">lowercase</span> <span class="er">hex-encoded</span> <span class="er">SHA</span><span class="dv">-256</span> <span class="er">of</span> <span class="er">the</span> <span class="er">the</span> <span class="er">serialized</span> <span class="er">event</span> <span class="er">data></span><span class="fu">,</span></span>
+<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">"pubkey"</span><span class="fu">:</span> <span class="er"><</span><span class="dv">32</span><span class="er">-bytes</span> <span class="er">lowercase</span> <span class="er">hex-encoded</span> <span class="er">public</span> <span class="er">key</span> <span class="er">of</span> <span class="er">the</span> <span class="er">event</span> <span class="er">creator></span><span class="fu">,</span></span>
+<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">"created_at"</span><span class="fu">:</span> <span class="er"><Unix</span> <span class="er">timestamp</span> <span class="er">in</span> <span class="er">seconds></span><span class="fu">,</span></span>
+<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">"kind"</span><span class="fu">:</span> <span class="dv">34237</span><span class="fu">,</span></span>
+<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">"content"</span><span class="fu">:</span> <span class="st">"<note>"</span><span class="fu">,</span></span>
+<span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">"tags"</span><span class="fu">:</span> <span class="ot">[</span></span>
+<span id="cb2-8"><a href="#cb2-8" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"a"</span><span class="ot">,</span> <span class="st">"<34235 | 34236>:<video event author pubkey>:<d-identifier of video event>"</span><span class="ot">,</span> <span class="st">"<optional relay url>"</span><span class="ot">],</span></span>
+<span id="cb2-9"><a href="#cb2-9" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"e"</span><span class="ot">,</span> <span class="st">"<event-id"</span><span class="ot">,</span> <span class="st">"<relay-url>"</span><span class="ot">]</span></span>
+<span id="cb2-10"><a href="#cb2-10" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"d"</span><span class="ot">,</span> <span class="st">"<34235 | 34236>:<video event author pubkey>:<d-identifier of video event>"</span><span class="ot">],</span></span>
+<span id="cb2-11"><a href="#cb2-11" aria-hidden="true" tabindex="-1"></a> <span class="ot">[</span><span class="st">"viewed"</span><span class="ot">,</span> <span class="er"><start></span><span class="ot">,</span> <span class="er"><end></span><span class="ot">],</span></span>
+<span id="cb2-12"><a href="#cb2-12" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span></span>
+<span id="cb2-13"><a href="#cb2-13" aria-hidden="true" tabindex="-1"></a><span class="fu">}</span></span></code></pre></div>
+</body>
+</html>
+
+
+
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
@@ -13900,6 +14296,263 @@ class="sourceCode json"><code class="sourceCode json"><span id="cb2-1"><a href="
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+ <meta charset="utf-8" />
+ <meta name="generator" content="pandoc" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+ <title>35</title>
+ <style>
+ html {
+ color: #1a1a1a;
+ background-color: #fdfdfd;
+ }
+ body {
+ margin: 0 auto;
+ max-width: 36em;
+ padding-left: 50px;
+ padding-right: 50px;
+ padding-top: 50px;
+ padding-bottom: 50px;
+ hyphens: auto;
+ overflow-wrap: break-word;
+ text-rendering: optimizeLegibility;
+ font-kerning: normal;
+ }
+ @media (max-width: 600px) {
+ body {
+ font-size: 0.9em;
+ padding: 12px;
+ }
+ h1 {
+ font-size: 1.8em;
+ }
+ }
+ @media print {
+ html {
+ background-color: white;
+ }
+ body {
+ background-color: transparent;
+ color: black;
+ font-size: 12pt;
+ }
+ p, h2, h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2, h3, h4 {
+ page-break-after: avoid;
+ }
+ }
+ p {
+ margin: 1em 0;
+ }
+ a {
+ color: #1a1a1a;
+ }
+ a:visited {
+ color: #1a1a1a;
+ }
+ img {
+ max-width: 100%;
+ }
+ svg {
+ height: auto;
+ max-width: 100%;
+ }
+ h1, h2, h3, h4, h5, h6 {
+ margin-top: 1.4em;
+ }
+ h5, h6 {
+ font-size: 1em;
+ font-style: italic;
+ }
+ h6 {
+ font-weight: normal;
+ }
+ ol, ul {
+ padding-left: 1.7em;
+ margin-top: 1em;
+ }
+ li > ol, li > ul {
+ margin-top: 0;
+ }
+ blockquote {
+ margin: 1em 0 1em 1.7em;
+ padding-left: 1em;
+ border-left: 2px solid #e6e6e6;
+ color: #606060;
+ }
+ code {
+ font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
+ font-size: 85%;
+ margin: 0;
+ hyphens: manual;
+ }
+ pre {
+ margin: 1em 0;
+ overflow: auto;
+ }
+ pre code {
+ padding: 0;
+ overflow: visible;
+ overflow-wrap: normal;
+ }
+ .sourceCode {
+ background-color: transparent;
+ overflow: visible;
+ }
+ hr {
+ background-color: #1a1a1a;
+ border: none;
+ height: 1px;
+ margin: 1em 0;
+ }
+ table {
+ margin: 1em 0;
+ border-collapse: collapse;
+ width: 100%;
+ overflow-x: auto;
+ display: block;
+ font-variant-numeric: lining-nums tabular-nums;
+ }
+ table caption {
+ margin-bottom: 0.75em;
+ }
+ tbody {
+ margin-top: 0.5em;
+ border-top: 1px solid #1a1a1a;
+ border-bottom: 1px solid #1a1a1a;
+ }
+ th {
+ border-top: 1px solid #1a1a1a;
+ padding: 0.25em 0.5em 0.25em 0.5em;
+ }
+ td {
+ padding: 0.125em 0.5em 0.25em 0.5em;
+ }
+ header {
+ margin-bottom: 4em;
+ text-align: center;
+ }
+ #TOC li {
+ list-style: none;
+ }
+ #TOC ul {
+ padding-left: 1.3em;
+ }
+ #TOC > ul {
+ padding-left: 0;
+ }
+ #TOC a:not(:hover) {
+ text-decoration: none;
+ }
+ code{white-space: pre-wrap;}
+ span.smallcaps{font-variant: small-caps;}
+ div.columns{display: flex; gap: min(4vw, 1.5em);}
+ div.column{flex: auto; overflow-x: auto;}
+ div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
+ /* The extra [class] is a hack that increases specificity enough to
+ override a similar rule in reveal.js */
+ ul.task-list[class]{list-style: none;}
+ ul.task-list li input[type="checkbox"] {
+ font-size: inherit;
+ width: 0.8em;
+ margin: 0 0.8em 0.2em -1.6em;
+ vertical-align: middle;
+ }
+ .display.math{display: block; text-align: center; margin: 0.5rem auto;}
+ </style>
+</head>
+<body>
+<h1 id="nip-35">NIP-35</h1>
+<h2 id="torrents">Torrents</h2>
+<p><code>draft</code> <code>optional</code></p>
+<p>This NIP defined a new <code>kind 2003</code> which is a Torrent.</p>
+<p><code>kind 2003</code> is a simple torrent index where there is
+enough information to search for content and construct the magnet link.
+No torrent files exist on nostr.</p>
+<h2 id="tags">Tags</h2>
+<ul>
+<li><code>x</code>: V1 BitTorrent Info Hash, as seen in the <a
+href="https://www.bittorrent.org/beps/bep_0053.html">magnet link</a>
+<code>magnet:?xt=urn:btih:HASH</code></li>
+<li><code>file</code>: A file entry inside the torrent, including the
+full path ie. <code>info/example.txt</code></li>
+<li><code>tracker</code>: (Optional) A tracker to use for this
+torrent</li>
+</ul>
+<p>In order to make torrents searchable by general category, you SHOULD
+include a few tags like <code>movie</code>, <code>tv</code>,
+<code>HD</code>, <code>UHD</code> etc.</p>
+<h2 id="tag-prefixes">Tag prefixes</h2>
+<p>Tag prefixes are used to label the content with references, ie.
+<code>["i", ".md.css.htmlb:1234"]</code></p>
+<ul>
+<li><code>tcat</code>: A comma separated text category path, ie.
+<code>["i", "tcat:video,movie,4k"]</code>, this should also match the
+<code>newznab</code> category in a best effort approach.</li>
+<li><code>newznab</code>: The category ID from <a
+href="https://github.com/Prowlarr/Prowlarr/blob/develop/src/NzbDrone.Core/Indexers/NewznabStandardCategory.cs">newznab</a></li>
+<li><code>.md.css.htmlb</code>: <a href="https://www.themoviedb.org/">The movie
+database</a> id.</li>
+<li><code>ttvdb</code>: <a href="https://thetvdb.com/">TV database</a>
+id.</li>
+<li><code>.md.css.htmlb</code>: <a href="https://www..md.css.htmlb.com/">IMDB</a> id.</li>
+<li><code>mal</code>: <a href="https://myanimelist.net/">MyAnimeList</a>
+id.</li>
+<li><code>anilist</code>: <a href="https://anilist.co/">AniList</a>
+id.</li>
+</ul>
+<p>A second level prefix should be included where the database supports
+multiple media types. - <code>.md.css.htmlb:movie:693134</code> maps to
+<code>themoviedb.org/movie/693134</code> -
+<code>ttvdb:movie:290272</code> maps to
+<code>thetvdb.com/movies/dune-part-two</code> -
+<code>mal:anime:9253</code> maps to
+<code>myanimelist.net/anime/9253</code> - <code>mal:manga:17517</code>
+maps to <code>myanimelist.net/manga/17517</code></p>
+<p>In some cases the url mapping isnt direct, mapping the url in general
+is out of scope for this NIP, the section above is only a guide so that
+implementers have enough information to succsesfully map the url if they
+wish.</p>
+<pre class="jsonc"><code>{
+ "kind": 2003,
+ "content": "<long-description-pre-formatted>",
+ "tags": [
+ ["title", "<torrent-title>"],
+ ["x", "<bittorrent-info-hash>"],
+ ["file", "<file-name>", "<file-size-in-bytes>"],
+ ["file", "<file-name>", "<file-size-in-bytes>"],
+ ["tracker", "udp://mytacker.com:1337"],
+ ["tracker", "http://1337-tracker.net/announce"],
+ ["i", "tcat:video,movie,4k"],
+ ["i", "newznab:2045"],
+ ["i", ".md.css.htmlb:tt15239678"],
+ ["i", ".md.css.htmlb:movie:693134"],
+ ["i", "ttvdb:movie:290272"],
+ ["t", "movie"],
+ ["t", "4k"],
+ ]
+}</code></pre>
+<h2 id="torrent-comments">Torrent Comments</h2>
+<p>A torrent comment is a <code>kind 2004</code> event which is used to
+reply to a torrent event.</p>
+<p>This event works exactly like a <code>kind 1</code> and should follow
+<code>NIP-10</code> for tagging.</p>
+<h2 id="implementations">Implementations</h2>
+<ol type="1">
+<li><a href="https://git.v0l.io/Kieran/dtan">dtan.xyz</a></li>
+<li><a
+href="https://github.com/hzrd149/nostrudel/tree/next/src/views/torrents">nostrudel.ninja</a></li>
+</ol>
+</body>
+</html>
+
+
+
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
@@ -21270,7 +21923,7 @@ difficult, or impossible to resolve when an event references another but
is not a reply.</p>
</blockquote>
<h2 id="marked-e-tags-preferred">Marked “e” tags (PREFERRED)</h2>
-<p><code>["e", <event-id>, <relay-url>, <marker>]</code></p>
+<p><code>["e", <event-id>, <relay-url>, <marker>, <pubkey>]</code></p>
<p>Where:</p>
<ul>
<li><code><event-id></code> is the id of the event being
@@ -21282,6 +21935,8 @@ associated with the reference. Clients SHOULD add a valid
<li><code><marker></code> is optional and if present is one of
<code>"reply"</code>, <code>"root"</code>, or
<code>"mention"</code>.</li>
+<li><code><pubkey></code> is optional, SHOULD be the pubkey of the
+author of the referenced event</li>
</ul>
<p>Those marked with <code>"reply"</code> denote the id of the reply
event being responded to. Those marked with <code>"root"</code> denote
@@ -21296,6 +21951,10 @@ replies (those replying directly to the root event), only the
without confusing them with <code><reply-id></code> or
<code><root-id></code>.</p>
</blockquote>
+<p><code><pubkey></code> SHOULD be the pubkey of the author of the
+<code>e</code> tagged event, this is used in the outbox model to search
+for that event from the authors write relays where relay hints did not
+resolve the event.</p>
<h2 id="the-p-tag">The “p” tag</h2>
<p>Used in a text event contains a list of pubkeys used to record who is
involved in a reply thread.</p>
commit 3ae477fc1f34430e39d675d3d672cf3aeb3fbdd4
Author: randymcmillan <
[email protected]>
Date: Wed May 22 18:34:25 2024 -0400
remove pango from deps
diff --git a/Cargo.toml b/Cargo.toml
index adc4151..f4e30a8 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -30,8 +30,8 @@ include_dir = { version = "0.7.3", features = ["glob", "metadata"] }
indicatif = "0.17.8"
markdown = { version = "1.0.0-alpha.17", features = ["json", "log", "serde"] }
markdown2html-converter = "1.1.12"
-pango = "0.19.5"
-##pango-sys = { version = "0.19.5", features = ["v1_42"] }
+## pango = "0.19.5"
+## pango-sys = { version = "0.19.5", features = ["v1_42"] }
tinyfiledialogs = "3.3"
urlencoding = "1.1"
commit e1a78711b0cc3b30f4199c27d8ff8ee45c1ce077
Author: randymcmillan <
[email protected]>
Date: Mon Jun 10 13:38:41 2024 -0400
post-commit-history:gnostr-get-relays stripped
diff --git a/post-commit-history b/post-commit-history
index d5bb596..97b4804 100755
--- a/post-commit-history
+++ b/post-commit-history
@@ -53,7 +53,9 @@ echo $padded_commit_hash
export NEW_COUNT=$new_count
#n=`printf '%064s' "$(git rev-parse HEAD~$count)"`
#echo $n
+for relay in $(gnostr-get-relays stripped); do
gnostr --sec $padded_commit_hash -t $padded_commit_hash --tag nip_commit $commit_hash --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay wss://e.nos.lol || true
+done
##echo $commit_hash;
#for commit_padded_hash in $(gnostr-reflog -p);do
##echo $commit_padded_hash;
commit 1bd42174247e05db2fa2cc7146f9a2ad2c586348
Author: randymcmillan <
[email protected]>
Date: Mon Jun 10 13:41:23 2024 -0400
post-commit-history:$relay
diff --git a/post-commit-history b/post-commit-history
index 97b4804..d7f73a7 100755
--- a/post-commit-history
+++ b/post-commit-history
@@ -54,7 +54,7 @@ export NEW_COUNT=$new_count
#n=`printf '%064s' "$(git rev-parse HEAD~$count)"`
#echo $n
for relay in $(gnostr-get-relays stripped); do
-gnostr --sec $padded_commit_hash -t $padded_commit_hash --tag nip_commit $commit_hash --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay wss://e.nos.lol || true
+gnostr --sec $padded_commit_hash -t $padded_commit_hash --tag nip_commit $commit_hash --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay $relay || true
done
##echo $commit_hash;
#for commit_padded_hash in $(gnostr-reflog -p);do
commit 15715b82f7cf669b61eb692a96c105845d12031b
Author: randymcmillan <
[email protected]>
Date: Mon Jun 10 13:45:50 2024 -0400
post-commit-history:|| echo RELAY:$relay error
diff --git a/post-commit-history b/post-commit-history
index d7f73a7..adcb3e1 100755
--- a/post-commit-history
+++ b/post-commit-history
@@ -54,7 +54,7 @@ export NEW_COUNT=$new_count
#n=`printf '%064s' "$(git rev-parse HEAD~$count)"`
#echo $n
for relay in $(gnostr-get-relays stripped); do
-gnostr --sec $padded_commit_hash -t $padded_commit_hash --tag nip_commit $commit_hash --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay $relay || true
+gnostr --sec $padded_commit_hash -t $padded_commit_hash --tag nip_commit $commit_hash --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay $relay || echo "RELAY:$relay error"
done
##echo $commit_hash;
#for commit_padded_hash in $(gnostr-reflog -p);do
commit 8f7e832b5b616a6b64af46d4ba5087f025b7a2c1
Author: randymcmillan <
[email protected]>
Date: Mon Jun 10 13:49:49 2024 -0400
post-commit-history
diff --git a/post-commit-history b/post-commit-history
index adcb3e1..4358d82 100755
--- a/post-commit-history
+++ b/post-commit-history
@@ -54,7 +54,7 @@ export NEW_COUNT=$new_count
#n=`printf '%064s' "$(git rev-parse HEAD~$count)"`
#echo $n
for relay in $(gnostr-get-relays stripped); do
-gnostr --sec $padded_commit_hash -t $padded_commit_hash --tag nip_commit $commit_hash --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay $relay || echo "RELAY:$relay error"
+gnostr --sec $padded_commit_hash -t $padded_commit_hash --tag nip_commit $commit_hash --tag relay $relay --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay $relay || echo "RELAY:$relay error"
done
##echo $commit_hash;
#for commit_padded_hash in $(gnostr-reflog -p);do
commit 91629665258e045179095ad5e16c938babaa05d1
Author: randymcmillan <
[email protected]>
Date: Mon Jun 10 13:51:02 2024 -0400
post-commit-history
diff --git a/post-commit-history b/post-commit-history
index 4358d82..605fecd 100755
--- a/post-commit-history
+++ b/post-commit-history
@@ -54,7 +54,7 @@ export NEW_COUNT=$new_count
#n=`printf '%064s' "$(git rev-parse HEAD~$count)"`
#echo $n
for relay in $(gnostr-get-relays stripped); do
-gnostr --sec $padded_commit_hash -t $padded_commit_hash --tag nip_commit $commit_hash --tag relay $relay --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay $relay || echo "RELAY:$relay error"
+gnostr --sec $padded_commit_hash -t "$padded_commit_hash" --tag nip_commit "$commit_hash" --tag relay "$relay" --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay $relay || echo "RELAY:$relay error"
done
##echo $commit_hash;
#for commit_padded_hash in $(gnostr-reflog -p);do
commit c4748aee3e7474a69f15b09572bd7a40ec9f135a
Author: randymcmillan <
[email protected]>
Date: Mon Jun 10 13:55:30 2024 -0400
post-commit-history:&
diff --git a/post-commit-history b/post-commit-history
index 605fecd..767343b 100755
--- a/post-commit-history
+++ b/post-commit-history
@@ -54,7 +54,7 @@ export NEW_COUNT=$new_count
#n=`printf '%064s' "$(git rev-parse HEAD~$count)"`
#echo $n
for relay in $(gnostr-get-relays stripped); do
-gnostr --sec $padded_commit_hash -t "$padded_commit_hash" --tag nip_commit "$commit_hash" --tag relay "$relay" --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay $relay || echo "RELAY:$relay error"
+gnostr --sec $padded_commit_hash -t "$padded_commit_hash" --tag nip_commit "$commit_hash" --tag relay "$relay" --content "$(git show $commit_hash || exit)" | gnostr-post-event --relay $relay & true || echo "RELAY:$relay error"
done
##echo $commit_hash;
#for commit_padded_hash in $(gnostr-reflog -p);do
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/48c0c3f6af87086200a4cbe17bbe2ae823169c305e55bac40cbe6f9a6b526d6c.webp
A burden only the worthy can carry 😤
No a vždycky se najde několik lidí, kteří to na protest nevyplní, nebo vyplní špatně, a kvůli nim to pak nevyjde... Na jejich rukou je krev našich středoškoláků.
https://f005.backblazeb2.com/file/nostr-beaware/Memes/f5ha2iggux4d1.jpeg
https://f005.backblazeb2.com/file/nostr-beaware/Memes/trying-not-say-sorry-someone-tells-stop-apologizing-calreadyboredjpg.jpg
With Germany's terrible war records, I'm a bit leary about them fighting on the same side this time...
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/b636e62e778fb0dbf7362d7211a3eb22851da3e696e4fe3e78cc5098c9a2d7df.webp
🇪🇺 Giant #Bitcoin logo projected on the European Central Bank 🔥
HODL and get people to remember your legacy.
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/85bad67eb0be8b6d6e250fbc43dbc4959298b24563ba6bab81b9efe35f1680e8.webp
Well, that failed. LOL. Oh well.
Hey look. There I am! :raised_hands: :raised_hands: :raised_hands:
https://f005.backblazeb2.com/file/nostr-beaware/AI/beaware.live_a_cute_purple_ostrich_surrounded_by_bitcoin_nft_59d5eec9-ef23-478c-b326-ebde2856fb6e.png
#Nostr #GrowNostr #Bitcoin #AIart #Midjourney
Co teď bude s Filipem Bendou? https://image.nostr.build/1dccb32908324a6079858a3ce6dc3a32d7a01b42a7a5e2b1cd1801e4d0718bf8.jpg
Mach to nedal ha ha ha hi hi hi... Se mu ten populismus moc nevyplatil.
The results are not even officially in and Emmanuel Macron is already giving up. This is very French of him! 🏳️🇫🇷🏳️
✔️ Official Linea Airdrop is Live.
✔️ https://telegra.ph/linea-05-20-25 Claim $TBA.
Austrian bread, Belgian beer, Spanish tomatoes, Irish, French and Dutch cheese... I think nobody can say I'm against the European common market and free trade. Let's watch who our new European "keepers" will be.
https://image.nostr.build/6c875c575c62958a5044c5127a9ac80cee1fea64df7f742b8b5b4fbaab97f81a.jpg
Loving bread is better for your soul's evolution ✨
Yes and no. Yes, from the perspective of standard unrecorded face to face communication (and not even in every case), no in any other case. Anonymity is a basic Nostr feature, and as such it should be available to all the users, not just to developers, hackers and dedicated fans.
I'm 100% sure code is speech.
#nevent1q…0l4c
Government is just to make the rich richer and the poor poorer. The only thing voting does, is vote who you want to be richer. It's collusion on the biggest scale.
yo! what happened to your Telegram user?
I have a potential project for you! DM me here to give me your Telegram ID...
GM #Nostr! #GrowNostr #Bitcoin #AIart
https://image.nostr.build/1735d6fb9aad64438a1489a6a156de9539ff45423f72158a324e89a7777ebeb3.jpg
Tak jeho asociace s tím ušatým secím strojem byla jasný zdvižený prst.
Nvm, neznám ho tolik abych ho byl schopen vyhodnotit. Možná i proto pro mě větší stopka byla přísaha než sám turek.
I'm not good, I'm nobody. But I got special dark places I learned to bury. That's why I love it in rockopera, fires and tears are that thing people come to watch. Seriously all the plays are either greek tragedies or something nasty and biblical. I came there for help and like everyone I met along knows how it feels and recommend to do metal. Demons like that, screaming at people and falling apart on stage is unbelievably refreshing. And people clap.😄
It is always refreshing to have a nice and reasonable debate about something on the internet. It became such a shouting contest lately... I'm glad we have Nostr.
#nevent1q…r7py
That makes sense... As in the real life the other choice is just too much work.
WTF is b r e e d love? I do love bread, but I guess that is not it. :-)
The only one I'm lower in is credit card debt! So I'm definitely not average! I'm exceeding expectations! 🤣
60-90% of average American's diet is ultra processed food.
The average American has $6,864 in credit card debt.
The average person spends over 2 and a half hours a day on social media.
The average person spends 4 and a half hours on their phone per day.
It's ok not to be average!
That's amazing!
However, it'd be even more amazing with a specific phoenix in there somewhere...😏🤭
Can we make it a habit to NOT post Twitter screenshots??? We all left that platform for a reason, right?
So, let's just make our own good and funny posts instead of just posting screenshots of a platform none of us want to be on!
#Nostr #GrowNostr #SocialMedia
Well...that's not true. Many things can end a life.
Life Goes On
You Cannot Stop It.
"Don't You Want to Seize The Day? Guard Me The Way Out of Infinity"
"Wherever You Go, Whatever You Know,
Just Bring it to Me Baby, I Just Want More and More!"
"How's Your Evening So far?"
"Take a Ride Into The Night"
"The Vengabus is coming!"
"We like to party!"
#nostrgang
#Bitcoin
#PuraVida
https://i.nostr.build/LeaG8.png
You better post good stuff 😜
https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/04006d1e67abc3b1cc260f881ad6a1d3a86b0f36e569947c68661d1d64b736b9.webp
#meme #memes
https://nostrcheck.me/media/3060ec7f0f145aa91b8e5f8726a53d7e0cb68c66e616bb9742b688eaea3cc18b/24054d2bafde6e66c25088a58bb9733337ed11f66fdb236d2ac26ad5a6148eab.webp
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/afd94b6404a9c90d70af1a0e3f360ade013ba50e71d79e8a0304ac9d4ec9838b.webp
"If people don't have financial freedom, they don't really have any freedom."
- Lyn Alden
Michael Saylor gives another must see explanation on why #Bitcoin is going up forever, Laura! 🔥
https://youtu.be/ajzgUoLC3DA
Wow, you are good. Last time I cried (funny enough it was also in a theater, but I was the spectator) it took me a good few days to get over it.
Yeah, in a few seconds, no big deal. The exercise is precisely for training how to not fuck self up. Basic acting.
This sounds pretty fucked up, tbh. Good for you to be able to do it, but still that has to be emotionally very demanding. Were you able to put the demons under control again or would they be out for a while?
To je asi možné, ale pro mě jsou některé věci natolik zásadní, že pro ně hlasovat nemůžu. I hlas pro malé zlo je hlasem pro zlo. Turek i hromadný znásilnění jsou navíc zlo velký...
Every #bitcoin transaction plotted by date received and date spent ⚡️
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/a0c06a957d47244421f2e5bf118121c7ed82ed66b00519c43c2e909cd186dd1e.webp
NEW: #Bitcoin is currently being mined with 55.8% sustainable energy 🙌
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/619e5270df536ef6868bfa4f36de8f9ebb9a90c6650b3d67f332d5913c065237.webp
NEW: 🇵🇾 Paraguay earns more money selling energy to Bitcoin miners than by selling it to the neighboring country, Brazil 👀
This is just one example of what #Bitcoin can do for your country.
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/16becd2c4837d1c044ddcf3e393ef007fb52cad80712eb411672e003bbf32508.webp
🤣 🤣
https://m.primal.net/IdYV.png
Myslím že spousta lidí by to jako důvod viděla…
I don't think Cody is autistic, he can't keep it in his pants, but that is a different story.
Plus the urge to use a semicolon and an interrobang. :-) https://image.nostr.build/4e173d03fe357556b8742806615480567176253e20bdf560c07ad939213ac3fc.jpg
Here's another AI song I just made.
It's a country song about a farmer losing his rooster. :kek:
#AI #ArtificialIntelligence #AImusic #Music #CountryMusic
https://beaware-mastodon.s3.us-east-005.backblazeb2.com/beaware-mastodon/media_attachments/files/112/581/598/463/708/878/original/ef443dd4d25adea8.mp4
Hromadné znásilnění by taky Hitlerovi určitě zkazilo náladu, ale to není důvod pro něco takového hlasovat.
Indeed! But if I try to argue the analogy, I might say "Satoshi glued the ailerons into a fixed position as an emergency stabilization procedure and we've been flying like that ever since". But there's no evidence that any conclusions we you might draw from that are actually useful in real life!
Guy who runs Facebook Real Estate investment group with 46,000 members tells them property is going DOWN in value vs #Bitcoin 🙌
Credit to [Jawad Dasthi](https://x.com/TheJawadDashti)
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/498f2d1824e84eab6db9961c3afe760de3c819255b9ef4c414f8648d293b1f8e.webp
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/f33fe7448fe3f3a098763b947410ccdd360d5fce7b08ee78e2dab9528448d520.webp
Luke Broyles makes the case on how there is $500 Billion chasing the remaining #Bitcoin supply on exchanges that could send the price parabolic 🚀
https://youtu.be/BPRfKAjMUyw
An amazing presentation on how currencies lack the properties of money outside of their borders and how #Bitcoin fixes this 🔥
“There are tools now that were not available for decades that are now becoming available for people all around the world are gonna have more empowerment in whatever jurisdiction they happen to be in.”
- Lyn Alden
https://youtu.be/Q77QHtY8odU
You're very thought provoking. I tend to enjoy that. 👍
In the last ±10 days I got 8 new followers and lost 1. I hope you will like it here, welcome:
@npub109m…hvru
@npub19jh…uy5w
@npub1dg8…a46a
@npub1llk…ftee
@npub1m4n…c2jl
@npub1njl…7uns
@npub1q6y…t3sh
@npub1ty3…xq4p
Also thank you for the ride @npub1gmr…e7cw
Ale zas, hlas pro Turka nasere zelený. Co nasere zelený nemůže být absolutně špatný. 🤣
Což byl jediný důvod proč jsem pro něj uvažoval já… odpor k fízlům ale vyhrál 🤣
Virtue signaling okénko:
Sice nevím / nemám koho volit, ale ani na vteřinu jsem neuvažoval o tom, že budu volit Filipa Turka.
GM, friend!! May your wallet stay filled to the brim!🤑⚡😎🚀
I can't say I disagree, but the first part about arguing using analogies hit home... My understanding of things is strongly based on analogies, so I do appreciate when people use them, talk about what details are different and etc. In your eyes I can be totally dumb, but I do operate that way and I believe a lot of people do as well. Debate with analogies makes it more accessible.
Get dat juicy big bite
https://s3.poster.place/poster-media/4cc4c20c4ca1d5f167d59f6c8a29e4a627630bec3b2240bed62e100a9f931c43.png
Well, that's not my fault then.🤣
GN frens 🐸
https://media1.tenor.com/m/bt7Lvm7DhHMAAAAC/yoba-tv-yobamode.gif
Pretty new here and wanted to introduce myself. #introductions
Study #Bitcoin
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/cd03e0b3710939635c1368becb3fe8aaa046e07be4ed891844ca4876b765d41f.webp
ICYMI: 🟠 Medical tech company Semler Scientific buys another 247 #Bitcoin for $17 million 🙌
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/0d28d37104fc92af37173fb2392b993cb61e3fb8233c7e11548db04714661503.webp
JUST IN: ⚡️ #Bitcoin Lightning Network capacity makes a NEW ALL TIME HIGH 🙌
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/7d942065f7cb9a4926838b49556683339be7d8f5a14909e8014cb88046c0804f.webp
Semler Scientific plans to raise $150M to boost its #Bitcoin holdings, following MicroStrategy's lead 📈
📰 https://btctimes.com/semler-scientific-announces-plans-to-raise-150-million-to-purchase-more-bitcoin/
📣 https://x.com/btc/status/1799106016740597814
> A year ago today #Bitcoin was $25,700.
> Now $BTC is around $71,000.
Why are you trading instead of holding anon?
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/c2e75030f6304682211ce5940bd78a0bbd9cf3bcb353f3d6a1cc314682bb1996.webp
NOW: 🟠 #Bitcoin fees are SPIKING as the OKX exchange appears to be bidding against itself in a massive consolidation operation gone wrong❗️
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/af7323b39faf7d9a7fed76b5cf17d3fee8f9f872d9daa9b9e02bf9387026a2ce.mp4
☝️Actually ☝️ I'm currently using Primal, but that screen shot was from earlier today on Nostter, 🍵 ;-)
They're using Nostter, not Primal.🤷♂️
I dont know why primal would show you that. You have 20 relays it shows on my end so thats a good amount. Im no developer but ya primal be lying hahaha
Is this normal? I've only been actively using this account for a few weeks, it's https://m.primal.net/IcHl.png excisted for about 6 months. It had shown only like 2 followers, one of which is myself for some time, and now I see like over 3,000? #Nostr #newhere
I was blocked on Fediverse by the person I replied to, for this post. 🤣🤣🤣🪦🪦
#note1v9p…ggyc
https://image.nostr.build/fa348c2db9920026ff9248b3dcf0bddb028383f6c636a8371c6be0317476d74c.jpg
Void Forest
#Cat #Cats #Caturday #CatsOfMastodon #Catstodon
https://beaware-mastodon.s3.us-east-005.backblazeb2.com/beaware-mastodon/media_attachments/files/112/574/861/201/540/210/original/4f8bfbd50f484b3e.png
Ooo, piece of candy!
#AIart #MidJourneyArt #MidjourneyAI #ArtificialIntelligence #MastoArt #FediArt #Art #Artist #GenerativeArt #GenerativeAI #Midjourney
https://beaware-mastodon.s3.us-east-005.backblazeb2.com/beaware-mastodon/media_attachments/files/112/574/845/826/559/237/original/1f2251aa586917cc.png
Felt.
#AIart #MidJourneyArt #MidjourneyAI #ArtificialIntelligence #MastoArt #FediArt #Art #Artist #GenerativeArt #GenerativeAI #Midjourney #Cat #Cats #Catstodon #CatsOfMastodon
https://beaware-mastodon.s3.us-east-005.backblazeb2.com/beaware-mastodon/media_attachments/files/112/574/813/146/300/257/original/fedab31d5752564d.png
NEW: 🟠 #Bitcoin open interest hits new high at 520K $BTC, exceeding March's all-time high 👀
h/t Bitcoin News
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/710ee7e097e95c7fbce7fbf0046a6858b7dcf883c016d910637378e929c28392.webp
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/ac4123e33679082c5f1579550a11d70bfa8d3aded14a5314f7335ead40819b43.mp4
JUST IN: 🟠 Bitcoiner and Twitter founder Jack Dorsey says we are being programmed and manipulated by algorithms and they are impacting our free will.
Elon Musk says Jack is right. 🤔
📈 Robinhood is set to acquire Bitstamp for $200M, marking a major expansion in their global #Bitcoin and crypto operations.
📰 https://btctimes.com/robinhood-to-acquire-bitstamp-exchange-in-200m-deal/
📣 https://x.com/btc/status/1798805177907937677
True Bitcoiners see $71K and feel nothing
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/f3aa80011a6795f8bcd0673020a8a244e736f406094aa990c987b54097591f7f.webp
NEW: 🟠 Here's 17 consecutive days of spot #Bitcoin ETF flows... it's all inflows 👀
An Omega candle is in the works!
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/912b25b15c52607fa7d7c6c7cd0ac4e7b738ebd61acec97a21bf6115288a9c1d.webp
There's a reason Saylor is stacking as if his life depended on it...
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/6d62815ce70703c0b9986ed36225b5ef44837867eaf74983f4002e6c5dcadec7.webp
NEW: 🚨 Robinhood is acquiring Bitstamp, the world’s longest running #Bitcoin and cryptocurrency exchange, for $200 million❗️
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/7cf9166f0247a3316c88f710919bb2485222121d0462ed0a40a5d119535255c9.webp
BREAKING: 🇪🇺 European Central Bank cuts interest rate by 0.25% to 3.75% despite inflation rising last month❗️
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/5264684513b889883144c42fe237b518edbd18d08c105244f7efcad80669a916.webp
🟠 $6 billion financial services company Unchained releases new #Bitcoin commercial 📺
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/f3f2289593c1bb394c14c51ef8fe6130fdad3c0a4bd76c5d764e98a78f6f0da3.mp4
https://image.nostr.build/60744c988366d71a7bddf7bd5909a1eb696acd649bebd4c636b9a0fca5f71ed7.png
@npub1y2q…37av
#negr0art
#btc
https://image.nostr.build/4b0f1dbe0858112668462231ffebfdb41cf95bafd3d7e4f0e126ec5720d55c55.jpg https://image.nostr.build/53d6f5c0209c7776b85dc4215871d3c8abe273993f05247f0d001fc884cda3dc.jpg
https://image.nostr.build/bbf447edca9d601b1571b3852de371e8d116d7212f457a86f3a31a9842f6e3c2.jpg
Consider this me asking :P and maybe you'll remember, if not, I'll ask again tomorrow and the next until you remember. 🤣
How do I get on one of these? 😂😝
@npub1q3s…d26p Hey, I have a question you might be able to help with.
I have my own Fediverse Mastodon instance and at some point imported a blocklist that contained the Mostr.pub relay. Yesterday I removed it from my blocklist. However, when I go to Mostr.pub in the browser and search for myself, it says account not found. Is there anything I can do? I'm already technically "federated" through Momostr.pink, but I would like to use your relay because I don't think they allow zaps across the relay like you do....😬
https://v.nostr.build/PORg4.mp4
#Nostriches #Afterdark 🔊🎶🍆💜🫂
Look at this!!! 🤣😂 only in #PalmBeach #NOSTR #TRUMP #BITCOIN 🤣😂😀😃😄😁😆💜🧡 https://image.nostr.build/ca39dc9122be151eec43dc3935397c6ee868716092b6790d0fbe4aa0c510002e.jpg
https://v.nostr.build/yq8Yk.mp4
#Nostr We are all ...💜🫂🔮🔊✨️🎶
Iranians don't deserve an angel like him.
#FreeIran
https://video.nostr.build/0fde9b0cdfd206be66141e6deb187fd406b3344150b992011f38e3aa1ca7df5c.mp4
Listening to Jack and Lyn. Hoping for a better, more civil, and honest social network
#introductions
Well that's good. You can be my fellow oddity!
Yeah, I'm odd so that checks out. :-)
ah, thanks @npub1ajd…dt20
Hmmm...
Yes...
But that's still an odd thing to say.
I mean it as an hyperbole... It means that I would be solving completely different problems than I have to deal with right now.
✔️ Official Linea Airdrop is Live.
✔️ https://telegra.ph/linea-05-20-25 Claim $TBA.
No. There was an outage. Now it works as expected.
It says Czechia at the bottom
'Germany' is not a Czech word,
maybe that's the reason
Not worth the hassle. Vaping it is good enough
Sometimes I regret that I didn't start shooting up heroin when I was a teenager.
Make no mistake, if you're not growing your assets by the rate of monetary expansion, you're getting poorer.
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/65378824a3675011db259eb36c248179e1c4c2f3a3c9c242b3d3492eafdbcbdf.mp4
🟠 #Bitcoin price on June 4th 🗓
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/ed966705246f7ae465a678e3c3c6abff4b14a38811d1a47ad025b8166a2e2447.mp4
This is pure gold😊
Looking good 😊
Guys CHILL remember there's an infinite amount of cash at the Federal Reserve! 🤣
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/be0637f0a26d0e3a36c1fdd83cf2b42f2d7dd1d9243df26baa95c38457108b2d.mp4
People are selling their real state for #Bitcoin. Things are changing fast.
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/d026b77272842fad3347c23cdbf3231b0a8c5c87d1f234de2ecedc00908d301b.webp
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/58e30bb50ae2c6f168d65cecae07fde781ea8584c3edc8169dacdc5e8a087456.mp4
“Most important technology that humans have ever created.”
- Jack Mallers
NEW: 🇺🇸 Spot #Bitcoin ETFs bought 12,508 $BTC yesterday, while miners only produced 450 $BTC❗️
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/56b031bd17ff58be6ae76641ca20164514de8a2888e5827908ed1b6c638586bf.webp
NEW: 🟧⛏ #Bitcoin miner holdings have plunged 50%, reaching their lowest level in over 14 years 👀
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/f2479c43112242fdccca193081c39a26abb7d9d1621c68593b49bfc2106208cc.webp
JUST IN: 🟠 Franklin Templeton CEO expects yet another way of #Bitcoin adopters 🙌
“This is really the first wave of the early adopters (...) the next wave is the much bigger institutions.”
- Jenny Johnson
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/0a29a3231418a2ee2da03a86eb8da3aa6a836a904641b79369b23d3e2e392287.mp4
“I still think this is going to be a massive bull market, it’s going to set your hair on fire, I think it’s going to be kind of scary at times how fast this is going to move.”
- Tuur Demeester
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/9aade0256fe6ad514961da31957fe5c85cf748da4c3bf36799566649bf257a99.mp4
Are you able to see those? I loved them when I was a kid and I love them now. This one is especially nice. #stereogram https://image.nostr.build/e4fcef56d873dbfd9393141f8db6abc312d04091bf4e2256df1cad901b7d9e63.jpg
Last 7 days zaps: 387212.
https://nostroz.com/zap_stats_7_new_20240605.png
Last 30 days zaps: 700123.
https://nostroz.com/zap_stats_30_new_20240605.png
Last 90 days zaps: 1228571.
https://nostroz.com/zap_stats_90_new_20240605.png
2024-06-05
NEW: 🟠 On the 100th trading day, the
U.S. #Bitcoin ETFs bought ~12.5k $BTC equivalent to 28 days supply❗️
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/fcf1e97442110b34d7c859e6594aeec6d16ff19bfa0f807dc1e059a0a0d98b15.webp
JUST IN: 🇨🇦 Bank of Canada cuts policy rate by 25 basis points❗️
So it begins...
https://image.nostr.build/a7df3900748af1101d8091dc712b9517d2d7e80ddae7877f12772266121a198b.jpg
NEW: 🇯🇵 Japanese exchange DMM to buy 💵 $320M in #Bitcoin to compensate users affected by last week's hack 👀
https://image.nostr.build/3c7d0e2d7b446fecfea6d7b4fcea871af3aa726dcad6bb5160a622b3b49d4d06.jpg
A practical guide for beginners in combining attractive #copywriting with #SEO techniques. Increase your content visibility in easy steps.
https://en.abengkris.com/2024/06/practical-seo-copywriting-for-beginners.html
They are not abandoned, they are just taking a break. They will come back when the time is right.
GM fellow Nostriches regardless of your status.
https://image.nostr.build/54604df4b4300bce8e81528e17bf5631a90b4febb9d4bfb4bc9fe8371778c860.jpg
#juicestr #juicechain #juice #cafe #grownostr #plebstr #nostrplebs #plebchain #nostrelites #elitechain
It’s not a metaphor. More like a description that the human mind can handle.
We can’t understand God, which why is the incarnation of Christ needed to happen. Otherwise we would never have known God. But now we do, because we saw Christ (the Son, 2nd person of the Trinity)
UPDATE: 🇸🇻 El Salvador now owns 5,770 #Bitcoin worth over $402 million 💪
https://image.nostr.build/7d73c7bef35ee648d77ed03c720be175fd40b89435a055a5e9adb3cc2f610f10.jpg
Are you thinking long term or just playing games anon?
https://nostpic.com/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/704e8960438905ddf62c27da6ea6703fe3bda5d63c47386a2d8f60c61516dfc2.webp
NEW: 🇺🇸 Private Texas institution University of Austin will accept #Bitcoin for tuition and create a long-term Bitcoin fund 🙌
https://nostpic.com/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/89036bf0ecd37be174b4930e38b4c7885547ac8c7ab6315143d79d451066f80a.webp
Are you suggesting that we are living in a deterministic system? What about all the entropy?
Let the party start!
#nevent1q…7ymw
Just get some #Bitcoin, things are getting ugly.
https://image.nostr.build/5b8a1c49df40e3f0893013cb2d53714cb77092aedcae5ea837486e797dd3bd03.jpg
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/6eefed000d72bbeffeab88e3dda71d25f62809918079d333dc2caa07a7e3c56d.mp4
" #Bitcoin has accumulated the most physical power, the most computer power, and the most economic power."
- Michael Saylor
🚀 Ark Labs is building a new layer-two solution for faster, cheaper transactions. The open-source project aims for wide adoption & complements existing networks like Liquid and Lightning.
📰 https://btctimes.com/ark-labs-fully-embraces-new-layer-two-scaling-solution/
📣 https://x.com/btc/status/1798014347714670994
🚨$800M of #Bitcoin shorts will be liquidated at 71.3K 👀
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/7f2b78b623cc3be331c9867f74ca725d734365c90d3ac67ed3937cf910aa98ff.webp
🟠 #Bitcoin price relative to money printing (M2 expansion) 📈
Do you notice anything? 🤔
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/8a42900ab32e464155b39928acd4f7814b8632057d680d915a7bf945ca9dee98.webp
NEW: 🇸🇻 Students in El Salvador learn how to create a pair of keys to sign and verify #Bitcoin transactions 🙌
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/7460703f1fcda4a34bd357c44fc01f26df8b6f4d68c81e427c266c16212e356d.mp4
this is a metaphor though
The Father has always had a spirit (Holy Spirit) and has always had wisdom. The wisdom of God is Christ (the Word, Logos).
Yes, those are all translations, tho.
>>The word “sin”, as it appears in the Bible, comes from the Greek word Hamartia or the Hebrew word Hata, which both mean “to miss the mark” or “flawed”. The word was used in archery and spear throwing. When a person missed the center of the target, they erred, or “hamartia-ed”. So, as this applies to sin, we should ask, “What is the mark that we are missing?”
And the answer is: The holy righteous perfection of God.<<
https://www.patheos.com/blogs/e2medianetwork/2016/11/wwutt-sin-means-to-miss-the-mark/
also "being a better person" = "lower time preference"
So it is like in Plato's allegory of a cave. The closer you get to the ideal shape from the projection the better person you are? And the ideal in this case is to live eudaimonic life and hitting all the marks.
And any deviation is essentially a sin.
This is super interesting, because that would mean that someone with very strict morals and high sense for meaningful fulfillment can end up far worse than a person who is just trying to be "a decent person."
"can't"
no, actually, if you had the full snapshot of the state of the system and you understood the laws that govern its actions, you could
this is a fundamental premise of computer science
You cannot be sure. You take it on Faith, out of Love and that gives you Hope, but the greatest of these three things is Love.
Actions of course have long term consequences. Consequences which can't be predicted or forseen. For example: A single conversation in the hallway of your university can completely change the course of your life.
Every moral order defines a "mark" or "target" of the most virtuous, perfect human and moral people try to get as close as possible to that mark before they die.
To sin is to miss that mark and the gravity of the sin is defined by how far away from the mark it was.
Virtue is the greater and sin is the lesser.
yikes! so how much of following of the law should be driven by fear of consequences vs just being a better person? it feels like it's impossible to not fall into a useless obsession with following laws that's completely unhelpful to moral development. so then it's easy to make up excuses for why certain laws just don't apply anymore.
i'm always looking for excuses for why i can be pagan and christian at the same time...
Yeah, sum might be a wrong word. Approximation is probably better.
So this is going to be a sophism, but we don't want to make the debate boring. If only God knows God and you can't comprehend God, how can you be sure about anything? How can you be sure that Bible is telling the true? What if it is yet another golden calf? What if it is yet another test if you would follow the book or your heart? How can you use something you don't understand and you can never understand in an argument?
and setting arbitrary limits on the arrival of consequences is literally shortsightedness
I think the sum doesn't change, the weighting of the parts shifts.
well, it clearly says in several places that death is a sleep until judgement, and that the "wailing and gnashing of teeth" do not persist but "rise from the pit from eternity" which is quite a distinct semantic
Hell is eternity spent separated from God.
the end of the world is probably only 12000 years in total though, so there's that also
it's essentially a children's story, to placate the lower 50% of the bell curve
the further up you are on the other side the more you realise it's a deception
Semantics it is all about semantics. Physical processes and physical laws are not the same thing. If I slip on the top of the Empire State Building I fall and turn into a pancake it will be due to the physical process not because me being punished for breaking the law of gravity. Same as your Sun eruptions they have latency because they are a process.
Morality as a sum of personal beliefs is a fluid thing and it does changes all the time.
so do we, technically speaking, it's only our story that is time bound
materialists are so boring
technically there must have been some period where there was only the Father though, but i'm not gonna get into the finer points
Christ has always existed.
or in other words, it is a cloak to hide some percentage of criminal activity that would otherwise meet consequences
Not true, there objectively were times when Christianity did not existed... And to the rest of your comment. Define sin. Is it something society sees as something bad? Sure it will ruin you, your credit and your reputation. But do something the scripture forbids but society does not condemn and you will be fine... Or did you heard of someone getting into bad situations because of wearing linen and wool? Or someone enjoyed a sausage before Easter?
you need to go study some chaotic dynamics about the consequences of actions in complex systems and how long the latency of consequences can be
just a simple example... the sun from time to time has explosions on its surface caused by plasma and electromagnetic effects
when one of those blasts happens, it takes 3-4 days before it gets in range of the orbit of earth
"metaphysics" is literally the entire category of things that are in the long to extremely long range of consequences of physical events
your short sighted view of cause and effect is completely ignorant of the fact that the more complex a system gets, the greater its latency, thus, this "can't break the rules" dictum only applies to the timescale of the event in question
gravity reacts in nanoseconds
what makes you so sure that morality doesn't react in a span of your life?
You can't break law of physics. There are no consequences of doing the impossible. I can't decide to break gravity. I can produce more buoyancy to stay afloat, but that is not breaking the law of gravity...
Also heaven and hell are constructs beyond physics and have nothing to do with it. Check the origin of the word metaphysics.
the distinction that would make it clearer to her is the latency of the consequences
some things take a long time to circle back and bite you
i would compare this to the latency of effects in physical systems, complex systems are especially good for demonstrating this, and so, yes, actually, these laws of physics even have such late consequences for actions
and frankly, if a person does not consider the possibility that their actions may have a long term effect, they are not competent human beings, they are acting as children
in physics consequences can have time delays too...
injecting yourself with HIV infected blood won't kill you straight away either
just because the consequences of breaking a law have a time delay doesn't mean that the consequences are not enforced
this is the precise nature of the hubris of evil people
this is why i believe in heaven and hell (and hell is end of the line, not eternal stupid punishment)
And Christianity also just is. It’s not enforce. Just like if you jump off a building you fall due to gravity, if you sin you find yourself in worse and worse situations.
Christianity means that moral laws are breakable, but never without consequences. That makes them more like physics.
Every moral failing results in an opposite and equal reaction.
Islam is a religion focused on the exersize of good habits, that is why, such as the pillars.
Christianity is more about forming the conscience and the soul, and other religions are more about holding on to established traditions or getting in tune with the universe.
They each try to divine the Natural Laws and teach them to their members. Obviously, I think Christianity's cerebral self-reflection brings everyone closer to Nature, but other people are like,
Ugh, whatever. Just tell me what to do, please.
"It's a bad thing to do because God forbids it and we know He forbids it because it goes against Nature."
Killing doesn't necessarily go against Nature, tho, so long as it isn't murder.
Laws of physics are not comparable with morals and therefore irrelevant in the discussion. Laws of physics are not even enforced, they just are. You can't choose to break the Ohm's Law it is imposible... To the other hand you can choose to kill someone and then you will meet the consequences.
As I was saying, I do agree with you in this part:
```
> Someone can refuse to follow moral laws or occasionally be opportunistic, but that can have a tangible negative effect on their life, even without state enforcement.
> Moral laws are also laws.
```
It is true and absolutely right that people are going to form their opinion based on their own morals. Actions do often have consequences. So yes, we don't need state to know what is good and what is bad, but we also don't need God... We can advertise our own morals in many different ways.
In stateless society we don't have the "false feeling of security" the state is giving to people, and that is the reason why terms like "zero trust" are important. We are purposefully creating interactions that are preventing oportunism.
BTW: What statement is better? "I don't kill, because God forbids that." Or "I don't kill, because it is a bad thing to do."
I do follow some predominantly Islamic sub-reddits and the amount of external force created by the religion is huge. They often say "When my mother did find out, she took me to the mosque and the imam told me that what I'm doing is bad. So that is why I don't drink anymore." No self reflection, no place for internal reasoning, no place for individual morals, only do as you are told. It is hardcore manipulation. Manipulation to something good (alcohol is objectively not good for you), but still a manipulation.
Not dull because people can appeal to the authority of God or Natural Law and that can have an effect on the behavior of their neighbors or make someone want to not be their neighbor.
Someone can refuse to follow moral laws or occasionally be opportunistic, but that can have a tangible negative effect on their life, even without state enforcement.
Moral laws are also laws.
God is just a tool how to make your group's morals superior to others.
Morals are a sum of personal beliefs creating a consensual vision of good and bad by certain group or groups of people. God is just a tool how to make your group's morals superior to other groups. And Natural Law? Is it anything else than law of action and reaction? Yes, the equilibrium has long-term benefits so it is preferred from the evolutionary standpoint, but occasional oportunism can bring high rewards. So as a believe or a concept it is pretty inconsistent and therfore unusable.
I do agree with what you were saying in the previous notes, but this conclusion seems farfetched and maybe even a bit intellectually dull.
Taky si myslim. V momente, kdy "noviny" casto jenom vezmou matros z twitteru, daj tomu svuj spin a to vsechno se zpozdenim, tak je pro ne tezky zustat relevantni u lidi, ktery to zajima.
A pak je tu velka skupina lidi, kterou nic z toho vubec nezajima i protoze dneska je tolik jinejch a zabavnejsich veci co si pustit do hlavy...
Content Creator Tools for Writers. Report by npub18jvyjwpmm65g8v9azmlvu8knd5m7xlxau08y8vt75n53jtkpz2ys6mqqu3
A guide intended to assist content creators in making use of Nostr's resources. This guide points creators in the direction of resources to improve their success and experience.
https://yakihonne.com/article/
[email protected]/383628b2
https://image.nostr.build/59915061db9a2060d74c80c723b5a74b6f979b2e57cf59a2d086deedc909380e.png
BREAKING: 🇦🇺 Australia's first spot #Bitcoin ETF to hold $BTC directly officially begins trading 📈
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/56b5d3840fa6c6791f3cd14aa01205b1f6af503228abeddf4f041523f7dbdfe8.webp
"Satoshi Nakamoto, the creator of #Bitcoin“ - Movie Trailer
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/4e1fcda766315c3ad91b15a87ce9999a32c05cbf680df0a8f185c70df7ff66f4.mp4
Some of you guys at family dinner 🤣
#Bitcoin
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/c2d9b22bb0e4b85bceeb73656faad34b7de14226e30fc40a82ec707b76917c45.mp4
🟠 Since going off of the gold standard in 1971, the average US citizen has been painfully plundered by inflation❗️ https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/91ffc7b4886314d81b8b01f8bf0ab12a6f6b2042ba6f5970d09fe12c5a1ad055.mp4
NEW: 🇪🇺 “The European Central Bank is expected to cut interest rates next week to stimulate economic growth❗️
"Lower rates typically weaken the Euro and increase liquidity, which can boost risk assets, including #Bitcoin."
- Bitfinex head of derivatives Jag Kooner.
h/t Bitcoin News
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/20a0b3e3a23338976a403b0df29f84e8766f9565cbc03089d2b25cb29a0bfc0b.webp
NEW: 🟠 Michael Saylor explaining how God's bank would use something like #Bitcoin 👀
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/c748da98f4bce49f07908e4da82b5413e0db41c78a92c5b741405405ff11243d.mp4
NEW: 🇺🇸 University professor on State of Wisconsin Investment Board buying $160 million of #Bitcoin ETF 👀
“I think it’s just an entry point.”
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/057ddfcc6d351ac32f9570fc0db9b309992afd32117f314a036dc8cf05033a29.mp4
JUST IN: 🟠 @npub1sn0…jdv9 on Berkshire Hathaway stock being halted for being shown as down over 99% 🙌
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/32373f195f6f4c81684fd82a3a0f27ad9923bbe66f788da8c46a6195f83206dc.webp
NOW: 🚨 Berkshire Hathaway is down 99.9% in an apparent market glitch 😮
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/a0f12adc21595e7e79080cfefe6ce55273fe39a16ee81e617d205bd0ce070c14.webp
Australia is set to launch its first spot #Bitcoin ETF on June 4th! Monochrome's ETF, trading as IBTC on CBOE, will offer regulated #Bitcoin exposure with a 0.98% management fee. 🇦🇺
📰 https://btctimes.com/australias-first-spot-bitcoin-etf-set-to-launch/
📣 https://x.com/btc/status/1797623610732916965
NEW: 🇦🇺 Australia's first spot #Bitcoin ETF, $IBTC, goes live tomorrow!
Are you prepared? 🚀
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/c7d9044d0412970e61e8da50d663f1a959eab9aeff8a5b042659a4665de95cd1.webp
Nevěřím, že nezájem je způsobený jen woke žurnalistikou. Asi čtenosti nepřispívá, ale ten nezájem má daleko hlubší a dlouhodobější příčiny.
You meant "voting accidents," right?
Last 7 days zaps: 435104.
https://nostroz.com/zap_stats_7_new_20240603.png
Last 30 days zaps: 747597.
https://nostroz.com/zap_stats_30_new_20240603.png
Last 90 days zaps: 1349049.
https://nostroz.com/zap_stats_90_new_20240603.png
2024-06-03
This is so freaking awesome, and it brings back so many great childhood memories... Would you believe that I got DN3D in an original box as a Christmas gift when I was a kid?
https://image.nostr.build/f666408d6a72dd6894fc5b66af42e3e51649dc614f35996e0d14dc09d3248810.jpg
Bebop Boar Taxidermy, Made by Samantha Flood.
P.S.: I understand that the cultural reference is wrong and Bebop Boar is not part of the Duke Nukem world, but it still triggered the memories of the LAPD Pig Cops.
🟠 Over any 4-year period you choose, this combination (98% cash/2% #BTC ) obliterated the performance of the world's number one performance metric S&P500 with 14 times less volatility 🤯
#Bitcoin
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/18fd934abe7b1ae9d45ffd5c92bde61d5c82fd8b36bc0255371d4d39568f9302.mp4
🇸🇻 Nayib Bukele has been sworn in for a second term in El Salvador 🙌
Onwards and upwards for #Bitcoin country 🚀
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/9be75e5e5b6032c9e05d448cf1d5fdbaed89e681ee57c196479559ab742d46b6.webp
Nothing stops this train babe.
#Bitcoin
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/0f9a20bf0488739b6d029dbfa6a10cba66e8311240612ed9d400edb27207dd42.webp
Getting into fasting and keto can be difficult and having a community is helpful 🫂💜
it's really nasty disease... flips your world upside down... i got it to stop by switching to a milk diet but i need to go full on into fasting and ketosis to claw back my life
What does full retard look like? 🤔
with a sharp nose i notice immediately on the next visit to the toilet...
just had mince for dinner tonight also, first time in a while, actual beef... so i'm gonna be curious to see how i am tonight and tomorrow... milk, cheese and wine i'm borderline but then i added earthing and i'm getting my visual convergence back in a big way and i'm quite tired of this dibeetus stuff, like, ok, about to go full retard on it
If you wait till then to care, you are literally ngmi 🫂💜
Unless you are a diabetic and your toes are about to fall of.
Crazy the difference in mempool size when you have no data filtering 1st picture, #core with data carrier set to zero 2nd picture, and running #knots 3rd picture:
https://image.nostr.build/ff5e3978051296733d19759f2cbfe538fd2ab1ceede3350fa8cb16a8cd175311.jpg https://image.nostr.build/ccfc7698a542fa9fe887e150f102b04b2cc8e9f286a5679e951c2129a881d3e5.jpg https://image.nostr.build/6fe16c2fb8ade5d5d963962e587dcfaa50f6884a378ba8c4154ca7e45b794730.jpg
Booze, yacht, private chef, fancy watch, fancy cars => unnecessary
1st class air travel => Economy Plus is enough when flying commercial
Private air travel => Netjets route and schedule flexibility sometimes worth the price. Onboard luxury is unnecessary. Not having to go through regular airport onboarding process is priceless though.
Luxury food & hotel & mansion => I take authenticity over sophistication every day.
Clothes => function > look
Devs aren't really elite. They're more like info channels for software updates. 😂
They can't afford to be too removed from the masses because they're selling consumer goods to those masses and they need every customer they can get and they need to do market research.
And then you have a couple of very large accounts who are here to chat and socialize, so they're not emotionally removed.
Elite behavior is distant and cliquey and overly scrupulous about manners. That's what defines them: being "set apart".
🟠 What do you think the price of a house in terms of #Bitcoin will be just in a few years? 🤔
664 > 45 > 6.6 > ???
Im thinking something like 0.8 #BTC, then, four years later 0.1 #BTC.
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/4d08544820f3e2ccd27371835d1224a6ad81bc6bf8393b1114c3cad77437de4c.webp
🟠 This is the best #Bitcoin Strategy 🔥
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/85c3abcb40ea65b1fc133a1cd07f18cbafe2bbe79ae19606837c5d9d15862ce7.mp4
🟠 #Bitcoin price on June 1st 📈
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/5ba80540bf8b8f45ff30518a04dd213139baf869e0341d5f96435e57c737c5e6.webp
Happy to be provide a quick summary.
Yes, don't know don't care, and yes still pretty close.
Who is the elite?
I think about people from Fediverse which I'm following via one of the bridges as untouchables because there is very small chance they will ever see any of Nostr interactions...
But elite? We have the developers, Fiatjaf, jb55, Vitor and the Japanese Dog from Nostr.build but those are all cool. Busy, probably overwhelmed with messages but still cool.
I might be following a wrong crowd, or I'm just ignorant towards the elites...
Now, I want to follow the celebrities. :-)
Wow. This is a really cool picture. GM to you too.
I'm asking because I don't see a point in running a relay on my phone when I already have a personal relay in my private network. The non persistent caching relay would make things a little different and probably a little faster, but it is most likely not worth any extra effort. Thank you for your answer. 👍
No, they all assume persistent relays. Thought I don't think that matters at this point.
I'm super stoked about this functionality. Is any of those options counting with non persistent cache only relay?
🇺🇸 A look inside CleanSpark’s clean and quiet immersion #Bitcoin mining facility in Georgia ⚡️
https://nostrcheck.me/media/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/8f3793efd93f4f8e150a1dc2249d0d85f21c68043f0ae66f330b9892145a29be.mp4
How detached from reality you have to be to be amazed by this? The left can't meme... Why are we copying them now? 🤷🏼
#nevent1q…jgf8
Vitor, I admire your patience. I would be like: "Thank you, I'm looking forward for your Pull Requests." many many messages before this one.
Amethyst is awesome, easy to use and what is really important, it is better with every update.
There are currently **five** Wasabi coordinators:
```bash
echo '["REQ", "coordinators", {"kinds":[15750]} ]' \
| websocat -n wss://relay.primal.net \
| jq 'select(.[2].tags[] | .[0] == "network" and .[1] == "mainnet") | {content: .[2].content, endpoint: (.[2].tags[] | select(.[0] == "endpoint") | .[1])}'
```
https://image.nostr.build/365fdc5a7db36548c071ea100017a77661ab8d40c1ea4ec02b376bebf4d84653.jpg
Dystopian narrative control, that's wtf's going on.
Wtf is going on? #google #news https://image.nostr.build/0bc3a6c6ea3786c24190f31a7d57d2bd65129498b5ed7873ded169ef76807034.jpg
The University of Austin and Unchained have teamed up to secure a $5M Bitcoin endowment, held for at least 5 years! 🏫💰
📰 https://btctimes.com/university-of-austin-and-unchained-team-up-to-raise-5-million-for-bitcoin-endowment/
📣 https://x.com/btc/status/1796511250857263484
NEW: 🇺🇸 Blackrock's #Bitcoin ETF has become the fastest ETF to reach $20 billion❗️
Bitcoin has shaken up the wall street 🤯
https://image.nostr.build/0aa07efa56fb1c3261c9aefd330a564cb68ed52ab60e54c8be1fd9765a63392c.jpg
Not sure if end of the world, but I believe in a big paradigm shift happening on the span of just couple of weeks. There will be no screws tightening and frog boiling for decades. One or multiple disruptive events will happen and we will essentially wake up into a different world... Much worse world.
Ecash is the purest/leanest form of money as data. It can probably not get any leaner than just a text string.
Trust without guards or third parties is central to many relations (also over the internet) where value is exchanged, for example any provider-user relation is inherently (partly) trustbased. Blinded Ecash can be an improvement of the risk you face in these relations, also compared to solutions using traditional banking payments.
Because of the points above, and for many other reasons, the payment solutions possible through ecash can be swifter, more private, less burdensome in resources, bigger in transaction throughput than a.o. things like Lightning network, ApplePay, Visa/mastercard
Ecash isn't so much a store of value, but it is up there with the best medium of exchange.
Summarizing my thoughts on ecash
For some reason this ecash trend seems to be gaining steam instead of going away, so I'll try my best to detail my thoughts on ecash into one post.
1. The incentives are broken
Ecash finds itself between a rock and a hard place. For users to trust the mint, they need to know that the people behind the mint are trustworthy. If the people running the mint reveal their identities (or even just nyms), they're a trivial target for regulators and law enforcement as it's clear a mint is an MSB.
If the people behind a mint don't reveal their identities or nyms, users of that mint are subject to trivial rug pulls with no recourse. Which do you prefer as a user? Mint operator rug pulls or government rug pulls?
If a mint had been targeted like Samourai Wallet was, instead of just a potential privacy loss, all users would have lost all of their Bitcoin.
2. Ecash is not "self-custodial"
For some reason this concept of ecash being "self-custodial" is a thing, merely because the tokens themselves are self-custodied (and require proper backups of seed phrases etc.) While the lines get a bit weird, it's important to separate two things:
1. The asset people want is Bitcoin, not ecash tokens.
2. The asset people give up custody on is Bitcoin.
The ecash tokens themselves are completely worthless IOUs without the Bitcoin behind them, so even if I can take custody of my ecash tokens, I have 100% given up custody of my sats to a third-party.
Because of this, talking about ecash as self-custodial is disingenuous -- no one wants empty IOUs, they want Bitcoin. When they use ecash they do not have custody of their Bitcoin.
3. Ecash still requires all of the hurdles of Bitcoin self-custody
The hardest hurdle for many people to adopting Bitcoin is the simple first step -- writing down 12 words and making sure not to lose them. With ecash you still have this single greatest barrier of entry as you must backup a seed phrase or secret in order to restore your ecash tokens.
4. There is no incentive for custodians to implement ecash
While a custodian could switch to ecash out of the goodness of their heart, the incentives are broken for custodians. Not only does ecash harm the UX their users are used to (not having to store a secret seed phrase), it also introduces additional infrastructure complexity. Instead of just running a database, now they have to run additional mint software to provide their users with tokens, and handle support cases where users lose their tokens.
In theory a custodian could just also store the seed phrase for their users, but then have we actually improved on custodians at all? They even have custody of the ecash tokens in that case.
5. Custody is a line that cannot be crossed
The core of what makes Bitcoin unique is that we can actually take custody of it ourselves, gaining immense freedom and self-sovereignty through a bit of personal responsibility. Even though I am a massive proponent of building better privacy tools, sacrificing custody to get better privacy is a non-option for me.
Surely we can do better and build privacy tools on top of Bitcoin (or directly into Bitcoin's consensus layer) that allow us to have both privacy and self-sovereignty via self-custody.
I will not give up custody of my Bitcoin, no matter what, and you shouldn't either. "Better custodians" are just custodians with extra steps, and still strip us of self-sovereignty and thus freedom.
6. Time is a more scarce resource than even Bitcoin
Even though I have been very outspoken on what I view as a pointless venture, I am not here to stop anyone from building what they enjoy in the space. Devs working on ecash are free to do so as of course I have no control over them, though I fear that time spent on improving custodians is time that we will not get back. It's clear that the US gov and many in the EU are seeking to ramp up their attacks on Bitcoin privacy and self-custody, and our time to build tools to route around them is growing shorter and shorter.
P.S. - None of what I write is a direct attack on any ecash dev, and I have immense respect and personal relationships with most of the people working on this stuff. Respect for an individual doesn't have to mean I agree with them on every avenue they pursue.
https://i.nostr.build/oM0YW.jpg
Announcing: Harbor, an ecash desktop wallet for better bitcoin privacy.
https://blog.mutinywallet.com/harbor/
Privacy for the common person is a value worth fighting for. When we see a lack of freedom tools, we must build them into existence. They don't appear on their own.
Much has been said about privacy at the Bitcoin protocol level. For now, we build it on higher layers where we can be more nimble.
Ecash is a tool available today that combines with Bitcoin to bring new levels of common privacy. Cashu and Fedimint are two existing implementations we're interested in.
https://m.primal.net/ISqH.png
Harbor Privacy: All communication runs over Tor. Mutiny is not in the middle of any connections or transactions. Funds in the wallet get a Privacy Score to show how the mints provide privacy over time. More to come on this in the future.
https://m.primal.net/ISqJ.png
Harbor Multi-mint: Instead of relying on a single mint with your funds, spread the risk over dozens or more. Harbor manages this for you, showing you a single balance while connecting with mints for you. A mint can go offline with minimal impact on you.
https://m.primal.net/ISqK.png
Harbor Automation: Running as a desktop app unlocks ability to do long running processes in the background. Move money in and out of mints on your preferred schedule to maximize your desired level of privacy. Harbor makes suggestions, but you are in control.
Move money in and out of Harbor using Lightning or on-chain. We love Bitcoin, and we love privacy. We hope Harbor gives everyday people more privacy and peace of mind.
Last 7 days zaps: 272755.
https://nostroz.com/zap_stats_7_new_20240529.png
Last 30 days zaps: 651548.
https://nostroz.com/zap_stats_30_new_20240529.png
Last 90 days zaps: 1076456.
https://nostroz.com/zap_stats_90_new_20240529.png
2024-05-29
Idk, probably not. I left, blocked, reported asap. Anyway now my phone number everywhere over last years bugs me.
As someone with multiple university degrees I can only agree. It is not bad to have a solid foundation, but as Goethe says: "All theory is gray, my friend. But forever green is the tree of life."
SEC caught lying
https://stacker.news/items/555056/r/chaoticalHeavy
The word Nostr was mentioned during an official presentation at Webexpo... It was a side note during an ActivityPub talk, but it was mentioned.
Was it real? I was added into several "Binance" WhatsApp groups, it was always a scam.
🚨IMPORTANT UPDATE - GLOBAL CHAT 🚨
The Fedi team just informed us about upcoming improvements to the app. The most significant changes are related to the chat functionality.
👉Starting this Wednesday, May 29th, you will be able to use a single account for all your chats across all federations, without needing to enter each federation separately to check your chats.
Please ensure that your app is updated. If the app doesn't update automatically, make sure to update it from your app store.
When you update, the app will ask you for a username. This username will be the same for all federations you join from now on. You will have a display name that can be changed, but you won't be able to change the associated number that comes after your username followed by “#” (eg satoshi #87b).
As you create a new username, all of your current chats will be available in read-only mode. You will need to join and create your groups and DMs again.
🤑 Your wallet remains unchanged. But use this opportunity to do your social and personal backups.
🆘 Remember this is a Bravo version. This means you might experience issues. If you find any bugs or have suggestions for the Fedi team, please report them to Support located in the home of the app.
We are excited about all the improvements in the app! 🤩 If you want to learn more about them, please click the link below
https://www.fedi.xyz/blog/introducing-global-chat
🟠 $MSTR game theory is playing out as predicted. Just recently 👇
- April 8th: Metaplanet announced its $MSTR copycat #Bitcoin acquisition strategy.
- May 2nd Square $SQ announced it will put 10% of its Bitcoin gross profit into $BTC with mostly purchases.
- Today: Semler Scientific $SMLR announced that it has adopted #Bitcoin as its primary treasury reserve asset.
Game theory suggests that all companies will have to adopt the #Bitcoin standard, or they will lose to a company that does.
Via [Mark Harvey](https://x.com/thepowerfulHRV) https://yakihonne.s3.ap-east-1.amazonaws.com/b60c3e7680e5c789d2dced663c35f34c32d9c386c82bbb5807ebaeb6c9d0f46e/files/1716967188395-YAKIHONNES3.jpg
📈 Semler Scientific has adopted #Bitcoin as its main treasury reserve asset, purchasing 581 BTC for $40M. 💊
📰 https://btctimes.com/healthcare-company-semler-scientific-acquires-40-million-in-bitcoin/
📣 https://x.com/btc/status/1795657632495042668
Need to read through the cashu codebase now
OMFG!!!!!!!!!!!! CASHU IS AMAZING. I GET IT NOW @npub12rv…85vg
https://m.primal.net/IQxE.png
omg???
https://m.primal.net/IQwz.png
https://image.nostr.build/f032af5cf2ab097e122509c90c754b944e473d64a02de462566de4b5111a8453.jpg
"If you want to change the world, don't protest. Write code!"
- Hal Finney, 1994
Religion is the opium of the people. https://image.nostr.build/0972348dd0af8761251976a24282bf2d56817341b2bbe3cf6a80cfd81b539114.jpg
#grownostr #nature #flowerstr #photostr #plantstr #photography #artstr #art #grownstr #philosophystr
@npub1ajd…dt20 @npub1gke…3xp3
age brings wisdom for those lucky enough to be attentive
[SELL] Lady Rolex Tudor from the 50's. - $500 usd in Sats of course
https://image.nostr.build/8013e7c5b5da7b00b6f72175978a468330f6f32c900ba7082827a4362f1e00e9.png
Description: 17mm (19mm. w/crown)
Cal. 1748 Manual wind
17 jewel tudor swiss movement
Gold colored case, bezel w. silver dial w. gold hour markers and hands
Speidel 6" gold colored band could use a cleaning
- - -
CONDITION
Dial excellent
Crystal excellent
Hands excellent
Markers excellent
Case Stains on the side of the crown
- - -
some use marks on other side overall a pretty good looking Rolex Tudor with normal use wear for its age. I tracked the watch for a half hour and it kept time. I don't make any guarantees beyond that due to its age and unknown history. You may want to service the watch to get more out of it for a daily wear
$500 usd in Sats of course
contact seller from https://stacker.news/items/553827/r/AG0RA
#BITCOIN #BTCACEPTED #MARKETPLACE #AGORA #P2P #ROLEX #TUDOR #VINTAGE #WATCH #WOMEN #LADY
Remember! Not your relay, not your notes. Just a side note, from my perspective it is better to run a private relay in your network than having one directly in your phone... Of course if you have that option, if not Citrine sounds like a good idea.
#nevent1q…a3xs
I don't know. The calculated WoT is good in identifying the bad actors but is less effective for new accounts and selection among the good ones.
I proposed an attestations schema for NIP-05 identities which would work on the provider level.
https://github.com/nostr-protocol/nips/pull/1210
I'm old and balding, but I still think now is better than when I was a kid... It probably means something.
#nevent1q…98r7
I'm old and balding, but I still think now is better than when I was a kid... It probably means something.
Tak pokud náhodou ne, tak dalším krokem je vůz i s koňmi a pak babička se sekyrkou... Ale uznávám to je už dost drastické řešení. :-)
We are a week away from a robust authentication implementation for Blowater
Ano, to je přesné. Už teď je to vyšší než některé předškolní děti. A jak se to umí strašně naštvat, když to musí počkat na jídlo nebo když tam najde petrželku. Nezbývá než doufat, že se to někde u dvou metrů výšky zklidní.
Last 7 days zaps: 263932.
https://nostroz.com/zap_stats_7_new_20240527.png
Last 30 days zaps: 652081.
https://nostroz.com/zap_stats_30_new_20240527.png
Last 90 days zaps: 1078792.
https://nostroz.com/zap_stats_90_new_20240527.png
2024-05-27
"Jed jsem, sněd jsem: kaši z rendlíka, ucháč mlíka, pecen chleba, mámu - tátu, děvečku s jetelem, sedláka se senem, pasáka s prasaty, ovčáka s jehňaty - a tebe taky ještě sním!"
Agreed about the free and cheap cloud services. I recently heard about Tahoe-LAFS. I hope to find the time to check it out soon. Hopefully by using something like that, it will be possible to spread your cloud storage across multiple providers to protect against loss with them disappearing.
https://github.com/tahoe-lafs/tahoe-lafs
https://tahoe-lafs.org/
Over here is where? I hope you’re not buying bitcoin with these markups!
16% + $1.5 fee is pretty much what we have over here. :-(
Sit, relax and breathe through the pain.
https://casualcrypto.date/img/QmZYvgtf6ShNtnXXkHYHQsP78ah9y1hvgKmRtjSz1ZCMX6/P1012719%20copy.jpg
#FemDom #BDSM #Kinky #Dominance #Fetish #Humiliation #Submission #Pain #Torture #NippleTorture #Dominatrix #NSFW
https://media.tenor.com/ss_pWm6IJI8AAAAC/janardhanan-nice-one-man-show-shutupdhamu.gif
Absolutely agree with this.
I'm happy to be the idiot savant... It is still better than being just an idiot.
Ne ne, sorry, nikdo tu není. Všichni stojí ve frontě před finančákem.
We need to get acquainted with the idea that free and cheap internet and cloud services will soon disappear. We are approaching crisis and actual profits will be more than the theoretical market share... So my tip, embrace open source, investigate self hosted solutions, on-prem technology and migration scenarios.
My breakfast continues... Will it just flow into lunch? It might. :-) https://image.nostr.build/2707b7212dad9e45e03d533e662f189a851b9f7be6f1c7c75755223ac3f2efd1.jpg #coffestr #coffeechain #coffee #cafe #grownostr #plebstr #nostrplebs
Arn't they perfect? Wait, don't answer. I know they are.
https://casualcrypto.date/img/QmP3J69bWG1uwY4i8Ev3izD5b6wYU5GshVFuy6iSHMM6LY/Goddess%20Rainn%20–%202019%2006%2014%20(2).jpg
#FemDom #BDSM #Kinky #Dominance #Fetish #FootFetish #FootWorship #Footstr #Humiliation #Submission #Worship #Dominatrix #NSFW
Good morning or something. #GM #foodstr https://image.nostr.build/af0b44867f1f8ef8d95d7e08d847e8082e34c0eb6762556249ade79e295eb7b1.jpg
I feel like the Nostr values are not accurate anymore.
They do it often. Unfortunately :-(
I do follow quite a few people from there via the mostr.pub relay. It is convenient, you get their content in nostr friendly format. Interaction is challenging, but lurking is easy.
Let me see what is on.
https://casualcrypto.date/img/QmcBV1BLAt4VB4L45RD6y11bdTnyzcFzpLNnzxHtKsPz6x/vladcouch002.jpg
#FemDom #BDSM #Kinky #Dominance #Fetish #FootFetish #FootWorship #Footstr #HighHeels #Humiliation #Pantyhose #Submission #Worship #Deprivation #Dominatrix #NSFW