-
2024-08-22 22:06:00
```js
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model User {
id String @id @default(uuid())
pubkey String @unique
username String? @unique
avatar String?
purchased Purchase[]
courses Course[]
resources Resource[]
courseDrafts CourseDraft[]
drafts Draft[]
role Role? @relation(fields: [roleId], references: [id])
roleId String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Role {
id String @id @default(uuid())
subscribed Boolean @default(false)
users User[]
}
model Purchase {
id String @id @default(uuid())
user User @relation(fields: [userId], references: [id])
userId String
course Course? @relation(fields: [courseId], references: [id])
courseId String?
resource Resource? @relation(fields: [resourceId], references: [id])
resourceId String?
amountPaid Int
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Course {
id String @id
userId String
user User @relation(fields: [userId], references: [id])
price Int @default(0)
resources Resource[]
purchases Purchase[]
noteId String? @unique
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
courseDraft CourseDraft?
}
model Resource {
id String @id // Client generates UUID
userId String
user User @relation(fields: [userId], references: [id])
course Course? @relation(fields: [courseId], references: [id])
courseId String?
courseDraft CourseDraft? @relation(fields: [courseDraftId], references: [id])
courseDraftId String?
price Int @default(0)
purchases Purchase[]
noteId String? @unique
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Draft {
id String @id @default(uuid())
userId String
user User @relation(fields: [userId], references: [id])
type String
title String
summary String
content String
image String?
price Int? @default(0)
topics String[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
courseDraft CourseDraft? @relation(fields: [courseDraftId], references: [id])
courseDraftId String?
}
model CourseDraft {
id String @id @default(uuid())
userId String
user User @relation(fields: [userId], references: [id])
resources Resource[]
drafts Draft[]
title String
summary String
image String?
price Int? @default(0)
topics String[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
course Course? @relation(fields: [courseId], references: [id])
courseId String? @unique
}
```
-
2024-08-22 16:04:25
If you're anything like me, unclaimed bounties make you just feel itchy. Here are two of mine:
https://stacker.news/items/631044/r/jasonb
https://stacker.news/items/535185/r/jasonb
You can claim them both by visiting [nostrminusnostr](https://nostrminusnostr.vercel.app/) and then following the instructions in the post. Today is technically a zapathon day*, so I'm sharing again today incase someone wants to claim the zapathon one.
https://nostrminusnostr.vercel.app
*I'm not sure that's even really a thing anymore. Either way, if you call down the thunder, take a pic and let me know and you can get those sats back if you're the first one to do it
originally posted at https://stacker.news/items/658270
-
2024-08-22 14:02:30
@Alby is there a way to recover my funds without opening another channel? Where's my savings account? I didn't find it
![](https://m.stacker.news/47470)
![](https://m.stacker.news/47468)
![](https://m.stacker.news/47472)
I don't wanna open another channel. It's too expensive and I fear losing my funds again
![](https://m.stacker.news/47469)
originally posted at https://stacker.news/items/658124
-
2024-08-21 23:22:06
whats the funniest insult in your opinion? and please provide context as to why.
for me, i cant help but laugh at the insult 'bitch boy'. reason being...my mom, who never swuares, referred to a kid i was kind of friends with in high school that also kinda sucked as a 'little bitch boy'. it really showed in hind sight how much she hated me hanging out with that friend ( and she was right! friendship crumbled cuz the dude sucked hahah), totally caught me off guard at the time but now i cant help but laugh at the insult 🙂
ehat about yall?
originally posted at https://stacker.news/items/657534
-
2024-08-21 21:37:35
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><iframe src="https://www.youtube.com/embed/NR_2KJZi3Ac" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen></iframe></div>
-
2024-08-21 21:37:35
# hello world
-
2024-08-21 19:56:24
fdsafdsafdsafdsa
originally posted at https://stacker.news/items/459392
-
2024-08-21 19:55:23
fsdafdsafdsa
originally posted at https://stacker.news/items/459391
-
2024-08-21 19:48:24
fsdafdsafdsa
originally posted at https://stacker.news/items/459390
-
2024-08-21 19:47:26
fsdafdsafdsa
originally posted at https://stacker.news/items/459389
-
2024-08-21 19:15:09
[STACKERMAN](https://stackerman.onrender.com/)
![](https://m.stacker.news/47337)
Hey, I just did this [tutorial](https://zbd.dev/courses/build-bitcoin-game) that ZBD made to teach you how to integrate their api into games. This one is obviously just me trying a little harder to get sued by sn. Soon though...I'm going to see if I can actually make a pro game! Woot!
In the meantime, [tear down that paywall](https://www.youtube.com/watch?v=WX00QkvK-mQ) and get some sats playing [STACKERMAN](https://stackerman.onrender.com/). You can play as a rootin' tootin' cowboy or a node runnin' educatin' swearin' up a storm space wizard. Of course, the npcs are the feds.
![](https://m.stacker.news/47340)
Tag me if the account runs out of sats and I'll try to top it off. I'm hoping that the paywall can cover the payouts though. Also note that you need at least 10 sats to cash out.
originally posted at https://stacker.news/items/657266
-
2024-08-21 17:42:18
When I used to pick NFL games against the spread for [RotoWire](https://www.rotowire.com/), I would joke after a bad week that my picks were perfect, but it was the games that got themselves wrong.
I’ve touched on this concept quite a bit here too — [But My Process Was Good](https://www.chrisliss.com/p/but-my-process-was-good) and [Why Blake Snell Should Win The NL Cy Young Award This Year](https://www.realmansports.com/p/why-blake-snell-should-win-the-nl) both highlight the category error of speciously applying tools of prediction toward the past. Tldr: the past is in no need of predicting because it already happened.
The error stems in part from mistaking the map for the territory — once the forecasts are substituted for reality itself, the future has already happened, so to speak — it’s right there on the spread sheet! — so it is no different than the past which has also already happened. So any tool that can be applied to the future can equally be applied to the past.
This is how we get [Sam Harris arguing that mRNA shot mandates were correct](https://x.com/KanekoaTheGreat/status/1615951624882782209?s=20) because covid *could have been* more deadly (and implicitly that the shots could have been safe and effective.) It’s one thing to model a possible future (with the requisite humility your forecasts might be off base), and quite another to force your failed model onto past events as though they were still in any doubt.
If this is confusing, that’s because a lot of us have been so trained to think this way we don’t even notice we’re doing it. Examples are legion where we identify what we deem an optimal process to achieve a desired result, then substitute that process for that result.
If the local police department believes it needs to arrest 50 people per month to reduce violent crime and incentivizes its officers to make those arrests, pretty soon arrests will be the goal, and people will get arrested for more and more non-violent offenses to make the quota.
If mass-vaccination is believed to be the key to good public health policy, then authorities will incentivize uptake, disincentivize bodily autonomy and not care one bit whether a person had prior immunity from the virus already, if the injection actually stops the spread or has myriad serious side effects. If the result (public health) were still the goal, the idea of forcing someone with natural immunity to inject himself with an experimental technology [would be ludicrous](https://x.com/goddeketal/status/1708104013936222641?s=20). But once the goal shifted to the process (mass vaccination), it made perfect sense.
Once we substitute the process by which we achieve something for the achievement itself (which might temporarily be sound, if you’re, say, training for a marathon), we create distortions in our thought processes and policies.
But I want to go back to where the bait and switch of process and result gets most absurd, and that’s when it comes to time. In this case, you’re not arresting jaywalkers to make your quota, you’re lamenting that had jaywalking correlated better with domestic violence, your policy would have been the correct one.
In other words, you’re not only substituting the process for the result in a forward-looking way, you are doing so even though you now have complete access to the result because it has already happened. And yet you are still grasping via your spread sheet for some other reality that might have been!
You do not need to forecast events that have already happened. The probability of the Chiefs winning the Super Bowl last year is 100 percent. We no longer need your tools to tell us how much to bet on them. The game is over, and whatever we believed the probability to have been before the fact is irrelevant.
That’s why I wrote about [Blake Snell’s Cy Young Award case](https://www.realmansports.com/p/why-blake-snell-should-win-the-nl) — despite Snell allowing 42 percent fewer runs on his watch than Spencer Strider — people are still arguing for Strider because the way Strider pitched *portended* fewer runs allowed than Snell. It is not enough for them that the results (runs allowed) are already in. They argue that because Strider’s profile forecasts a better result than Snell’s, Strider should win. Or, put differently, had we simulated 1000 seasons for each, Strider’s would on average be better. They are upset Snell got “lucky” as though reality must be stripped of all the effects for which we can’t attribute to particular causes and normalized in order to fit our model.
. . .
Mistaking the past for the future is one form of this category error, but it can also happen in reverse wherein one mistakes the future for the past. You see it when people treat future events at fait accompli and proceed as such. The notion of talking past the sale, e.g., if the car salesman says: “You’ll love this car and be thanking yourself for saving so much money on gas!” he’s treating your possible future agreement on a price as something that’s already happened.
People also do this to avoid responsibility, pretending as though there’s nothing one can do about some injustice or that it’s too late to make amends for wrongdoing. They think and talk about the future as though it’s the past.
When our dog Oscar got poisoned from a particular kind of caterpillar ([Largata do Pinheiro](https://www.setubalambiente.pt/lagarta-do-pinheiro/)) last winter, we brought him to the hospital with his tongue swelling so much it was stuck outside his mouth. The hospital treated him for a day, saying they could only wait and see, and he might lose his tongue (to necrosis) and have to get put down.
We could have taken their approach of it not being in our hands, but instead we convinced them to let us break him out and took him to our holistic vet who sedated him, drained his salivary gland, massaged the tongue extensively with ozone and anti-bacterial herbs and sent him home with us that evening.
[Oscar](https://njump.me/nevent1qqst6clec39drun4k97xyqy4ln06t9uc9g09fpa5fg5zruee3hvw8mszyzyujjulkrquksyekd5dkv6hdzv2n5zjstv3thywa844gtl4qplksqcyqqqqqqgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduq3vamnwvaz7tmzw33ju6mvv4hxgct6w5hxxmmdqyxhwumn8ghj7mn0wvhxcmmvqyt8wumn8ghj7un9d3shjtnwdaehgu3wvfskueqt46763) who is passed out on the sofa next to me as I type this, only lost about 10 percent of the tongue, but otherwise made a full recovery.
. . .
I’m not sure why people so easily mistake cause for effect, process for results, future for past and vice-versa. If I had to speculate I’d say when our emotions get involved, we go from logical thinking to association, and associations work in both directions — effects and causes are associated without regard for which is which.
The modus operandi of most advertising (and propaganda) is to seed associations in your mind between things it wants you to associate — it’s certainly not to convince you rationally which is a much more difficult task. Maybe the influencers, marketers and propagandists have simply found an angle they can exploit. Once those associations take hold, they can be powerful, and often no amount of rational argument will un-cement them.
But I think that’s only part of the story. The other part is how most of us have been educated, and that's to focus on process not results. To be “process-oriented” not stuck in “results-based thinking.” This is a mark of erudition, of belonging to a certain class of people who have mastered this lesson. The class who trusts in modelers, forecasters and data-scientists waiting at the ready to be of service to The Science, even if it means treating the future as though it’s already happened and the past as though it can be re-forecast according to their models, conjugating reality, as it were, in the wrong tense.
-
2024-08-21 17:27:14
## Nostr Nedir?
Nostr, “**N**otes and **O**ther **S**tuff **T**ransmitted by **R**elays” (Notlar ve Röle ile İletilen Diğer Şeyler) anlamına gelir. HTTP veya TCP-IP gibi, Nostr da bir “protokoldür”; herkesin üzerine bir şeyler inşa edebileceği açık bir standarttır. Nostr’ın kendisi kaydolduğunuz bir uygulama veya hizmet değildir. Nostr basitlik ve elverişlilik amacıyla tasarlanmıştır ve web üzerinde sansüre dirençli ve küresel olarak desentralize (dağıtık) yayıncılık ve iletişim imkânı sağlar. Bunu biraz açalım:
### Basitlik
Protokol, çok basit ve esnek olan “Event” nesnelerine (bunlar düz JSON formatında aktarılır) dayanır ve anahtarlar ve imzalama için standart açık anahtarlı kriptografi (public-key cryptography) kullanır. Bu, röleleri çalıştırmayı ve istemciler oluşturmayı kolaylaştırır ve protokolün zaman içinde genişletilebilmesini sağlar.
### Esneklik
Nostr, veri taşımak veya depolamak için tek bir yerde toplanmış az sayıdaki güvenilir sunucuya bağımlı olmadığından ötürü çok dayanıklıdır. Protokol, rölelerin kaybolacağını varsayar ve kullanıcıların zaman içinde değiştirebilecekleri rastgele sayıda röleye bağlanmasına ve yayın yapmasına olanak tanır. Bu esneklik gönderilerinizin üzerinde hiçbir kısıtlama ve sansür olmamasını da sağlar. Bir keresinde 15 bin harflik bir makaleyi bile görsel materyaller ve köprü linklerle süsleyerek paylaşabilmiştim.
### Doğrulanabilirlik
Nostr hesapları açık anahtar kriptografisine dayandığından, mesajların gerçekten söz konusu kullanıcı tarafından gönderildiğini doğrulamak kolaydır. Bu sayede bot ve troll kalabalığı da yoktur ve küçük bir ihtimal de olsa Nostr'a gelirlerse bunları ortadan kaldırmak gayet kolaydır.
### Anahtarları Anlamak
Her Nostr hesabı bir açık/özel anahtar (public/private key) çiftine dayanır. Bunu anlamanın basit bir yolu, açık anahtarınızın kullanıcı adınız ve özel anahtarınızın ise parolanız olduğunu düşünmektir. Parolaların aksine, özel anahtarınız kaybolduğunda sıfırlanamaz veya değiştirilemezlerdir. Anlaşılır olmak adına tekrar söyleyeyim: Özel anahtarınızı kaybederseniz Nostr hesabınız kaybolur. Başka bir kişi özel anahtarınıza erişim sağlarsa, hesabınızın kontrolünü ele geçirebilir. Özel anahtarınızı bir şifre yöneticisi (1Password’ü veya Brave Tarayıcı’yı öneririm) veya Alby gibi bir tarayıcı uzantısında güvenle sakladığınızdan emin olun.
### Protokol vs İstemci
Nostr’un kendisi sadece bir protokoldür, yani mesajları ve yayınları internet üzerinde dolaştırmak için üzerinde anlaşılmış bir prosedürdür; Facebook, Twitter, Instagram, YouTube gibi sansürcü, merkeziyetçi, spam ve reklam dolu boktan bir “platform” değildir. Bu yüzden Nostr’a (protokole) bir istemci aracılığıyla erişmeniz gerekir. Bu istemciler web, masaüstü veya mobil uygulamalar şeklinde olabilir. Bazı Nostr istemcileri özel anahtarınızı yapıştırarak oturum açmanıza izin verir. Web’de bu genellikle önerilmez, zira rahatsız edici ve güvensizdir. Bunun yerine, tarayıcınızda özel anahtarları güvenli bir şekilde yönetmek ve Event’leri kriptografik olarak imzalamak için özel olarak tasarlanmış bir yazılım parçası olan bir imzalama uzantısı kullanmanızı öneririm. Bu konuda Alby, Nostr için yerleşik desteğe sahip popüler bir imzalama uzantısı ve Bitcoin Lightning Network cüzdanıdır. Yeni kullanıcılar için harika bir seçenektir. Alby’nin kurulumunu aşağıda gerekli olduğu yerlerde istemciye özel kılavuzda ele alacağım.
İşte birkaç farklı istemci ve kullanılabildikleri işletim sistemleri:
[Amethyst](https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst) (Android) [Benim favorim.]
[Primal](https://primal.net/) (Web, iOS, Android) [Mobil cihazlarda yerleşik Bitcoin Lightning Network cüzdanı ile kullanıcı dostu istemci.]
[Snort](https://snort.social/) (Web) [Temiz ve hızlı web istemcisi.]
[Coracle](https://coracle.social/) (Web) [Röle navigasyonuna odaklanan bir istemci.]
[Habla](https://habla.news/) (Web) [Kolay blog yaratımı.]
[Highlighter](https://highlighter.com/) (Web) [Blog yaratımı ve bloglarda gezerken işaretleme-alıntılama için uygun arayüze sahip istemci.]
[Iris](https://iris.to/) (Web) [Ücretsiz NIP-05 doğrulama sağlayan istemci.]
[Damus](https://damus.io/) (iOS) [Apple cihazlarına özel aplikasyon istemci.]
Amethyst Android istemcisi ile Nostr kullanmaya başlamak için adım adım kılavuz
#### Adım 1: Uygulama yükleme
* Android telefonların aplikasyon mağazası olan Google Play Store’dan Amethyst uygulamasını yükleyin: https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst
* Uygulamayı açtığınızda, yeni bir hesap oluşturma veya daha önce oluşturduğunuz bir özel anahtarla giriş yapma seçeneğiniz olacaktır.
* Alby uzantısı veya başka bir istemci aracılığıyla zaten bir özel anahtar oluşturduysanız, kullanım koşullarını okuyup kabul edebilir, (npub/nsec) bilgilerinizi girebilir ve “Login” (Giriş Yap) düğmesine tıklayabilirsiniz.
* Eğer bunlar yoksa, “Generate a new key” (Yeni bir anahtar oluştur) seçeneğine tıklayın.
#### Adım 2: Yeni bir hesap oluşturma ve onun ayarlarını yapma
* “Terms of Use” (Kullanım Koşulları) bölümünü okuyun ve kutuyu işaretleyin.
* “Generate a new key” (Yeni bir anahtar oluştur) seçeneğine tıklayın.
* Tebrikler, az önce yeni bir Nostr kimliği oluşturdunuz!
* Ana ekrana yönlendirilecek ve “Feed is empty. Refresh” (Akış boş, yenileyin) mesajıyla karşılaşacaksınız, çünkü henüz başka bir hesabı takip etmiyorsunuz. Bunu daha sonra halledeceğiz.
* Son bir aşırı önemli adım kaldı. Özel anahtarınızı güvenli bir yerde saklamalısınız. Bunu yapmak için, şu anda profil resminiz olarak görünen sol üst köşedeki garip görünümlü robot simgesine tıklayın. Bir kenar çubuğu açılacaktır.
* “Backup Keys” (Yedek Anahtarlar) kısmına gidin ve “Copy my secret key” (Gizli anahtarımı kopyala) seçeneğine tıklayın.
* “Nsec” ibaresiyle başlayan gizli anahtarınız artık akıllı telefonunuzun panosundadır, bunu ÇOK güvenli bir yerde veya bir .txt uzantılı belgede yapıştırıp saklamak en iyisidir.
* Şimdi hesabınızı oluşturmaya devam edebilirsiniz. Ana ekranın sol üst köşesindeki profil resminize geri dönün ve “Profile” (Profil) bölümüne gidin. Buradan, “Follow” (Takip Et) seçeneğinin solundaki üç çizgi ve kalemin bulunduğu simgeye tıklayın. Profil ayarlarınızı buradan yapabilirsiniz.
* “Display Name” (Görüntülenecek Ad) bölümüne yazacağınız şey nick’iniz olacaktır.
* “About me” küçük bir biyografi bölümüdür ve harf sınırı yoktur.
* “Avatar URL” ve “Banner URL” kutularının içinde, solda görsel yükleme simgeleri vardır. Burada profil resminiz ve banner’ınız hakkında ne yapabileceğinizi bilirsiniz.
* “Nostr Address” ve “LN Address” kutuları için şöyle bir süreç işliyor: Eğer bir Alby hesabı edinebildiyseniz (şu an üye alımı sadece Alby geliştiricilerine getalby.com üzerinden yollanacak bir mektubun ardından gelebilecek davetiye kodu sayesinde mümkün) “@getalby.com” uzantılı adresinizi bu kutuların ikisini de yazmalısınızdır. Bu sayede hem hesabınızın size özgün ve gerçek olduğu (diğer bir deyişle, bot olmadığınız) anlaşılmış olur hem de gönderilerinize beğeni veya bağış maksatlı yollanan Bitcoin Satoshi’lerinin birikmesi için (ve sizin de başkalarına yollayabilmeniz, yani Zap yapabilmeniz için) bir Lightning Network sıcak cüzdanı adresi tesis etmiş olursunuz. Alby hesabı edinme konusunda -ki bence Alby çok önemli- yardımcı olmamı isterseniz iletişime geçmekten çekinmeyin.
* Tamamdır, hesabınız artık hazır, şimdi akışınızı dolduralım ve diğer insanları takip edelim: Sağ üst köşedeki büyüteç simgeli arama butonuna tıklayın ve tanıdığınız kişilerin hesaplarını arayın ya da sol alttaki ev simgesine tıklayarak gideceğiniz ana ekrandaki “All Follows” butonuna tıklayın ve “Global”i seçin. Şimdi bağlı rölelerinize gönderilen tüm notları göreceksinizdir. Eğer bunalmış hissediyorsanız, endişelenmeyin, zamanla burada yeni birçok ilginç Nostr kullanıcısı bulabileceksinizdir. Sadece bir deneyin.
#### Adım 3: Röleler ve Geniş Çaplı Erişim/Yayın
Yeni röleler ekleyerek erişiminizi ve görünürlüğünüzü artırabilirsiniz. Bunun için yapmanız gereken aşağıda listeleyeceğim röleleri hesabınıza entegre etmektir. Röle entegrasyonu için öncelikle sol üstteki profil resminize tıkladığınızda açılan menüde “Relays” bölümüne giriyorsunuz. Burada, en aşağıda “Add Relay” yazan kutucuğa oluşturduğum listedeki röle adreslerini tek tek girip “Add” butonuna tıklıyorsunuz. İstediğiniz kadar röle ekleyebilirsiniz, tamamen size kalmış. Bu iş bitince mutlaka sağ üstteki “Save” butonuna tıklayın.
Ayrıca kişisel bilgisayarınızdan Coracle adlı Nostr istemcisine girerek de rölelere kolaylıkla bağlanabilirsiniz. Tek yapmanız gereken Coracle’da Nostr hesabınıza Nsec anahtarınızla giriş yapmak ve sol kenar menüdeki “Relays” bölümünü açıp listelendiğini gördüğünüz her bir rölenin sağındaki “Join” butonuna tıklamaktır.
Röle listesi:
140.f7z.io
astral.ninja
bevo.nostr1.com
bitcoiner.social
brb.io
carnivore-diet-relay.denizenid.com
eu.purplerelay.com
expensive-relay.fiatjaf.com
feeds.nostr.band/popular
fiatjaf.com
n.wingu.se
nos.lol
nostr-pub.semisol.dev
nostr-relay.wlvs.space
nostr.21l.st
nostr.band
nostr.bitcoiner.social
nostr.blipme.app
nostr.kollider.xyz
nostr.liberty.fans
nostr.mutinywallet.com
nostr.orangepill.dev
nostr.pleb.network
nostr.plebchain.org
nostr.relayer.se
nostr.satoshi.fun
nostr.walletofsatoshi.com
nostr.yuv.al
nostr.zbd.gg
nostr.zebedee.cloud
nostr.zerofiat.world
nostr1.tunnelsats.com
nostream.denizenid.com
nostria.space
offchain.pub
purplepag.es
pyramid.fiatjaf.com
relay.0xchat.com
relay.benthecarman.com
relay.bitcoinpark.com
relay.current.fyi
relay.damus.io
relay.f7z.io
relay.geyser.fund
relay.mutinywallet.com
relay.nostr.band
relay.nostr.bg
relay.nostr.net
relay.nostr3.io
relay.nostrati.com
relay.nostrplebs.com
relay.orangepill.dev
relay.plebstr.com
relay.primal.net
relay.snort.band
relay.snort.social
relay.utxo.one
relayable.org
relayer.fiatjaf.com
satstacker.cloud
snort.social
soloco.nl
sound-money-relay.denizenid.com
![](https://image.nostr.build/4cf5a48eefa5b552642e8f0bb1e4effd7085af876ce311dd8ed6f3a0df5735c0.jpg)
**Önemli:** Özel anahtarınız yerel olarak (mobil cihazınızda veya bilgisayarlarınızda) saklanır ve Amethyst sunucuları veya Snort, Iris, Primal, Coracle gibi diğer tüm Nostr istemcileri tarafından hiçbir şekilde toplanmaz veya saklanmaz, zira Nostr’ın olayı budur, yani desentralizasyon protokolü.
Zamanla internetin kurtarıcısı olacak bu öze dönüş gücüne sahip sosyal ağda beni ve arkadaşlarımı takip etmeyi ve bizim takip ettiğimiz kişilerden kimleri bulabileceğinizi kurcalamayı unutmayın:
Kaan: nostr:npub1asyasvv6vhkuk44ttczsz2v0xvp3c6ze9xqrg9n97n6mkskgpnjqmdugs9
Satoshi Nakamoto Enstitüsü Türkiye: nostr:npub1fdv8r32dqehlkxfnq3uld67vq8t46jw5jvzkk0h6rl4hyvd8g76qf7ujf6
Ludwig von Mises Enstitüsü Türkiye: nostr:npub1gfytsf2p5kw2c42032fkt845x8gh00e027nwnn3pr5880yy954qq4wqlqm
Efe Bitcoin: nostr:npub193h05grv6ykgqc94memmlppqe2wlclukpfl8g5750w8gr3002zasl7ngwj
Şükrü Day: nostr:npub1gw3zhc5r5a7jfgl6yx8qv0nc9kset5ddkrka229c3tym5xltehlq58m7mm
Emir Yorulmaz: nostr:npub1mmfakwg4s36235wlav6qpe03cgr038gujn2hnsvwk2ne49gzqslqc6xvtp
Hasan Tahsin: nostr:npub19zc3ja6jme9ul84sfmgyf5z96a07m6x9dp2jngl5zhwryku9aynsy89q3u
Ufuk: nostr:npub19mz7c6jesdczvlumhpzqekqh9v93w0whup73mu3x2v6jv97lfujq79nqu3
Furkan Arda: nostr:npub1z43kexnw7wxd22ystexyhgf0s7lzsqzfaxv5xvlk9sgspkfzdyps039jv6
Kaancap: nostr:npub14t06hns8wmymynccmcer7sp6y3eql7pjyzwcp0u5rk88sv7vt2rqrl4wte
Yankı Guapmann: nostr:npub19z5m92x8jlltva7zj47z9ydxle8ddkw8y3k5e8xnrphu724v9lys5wxt3p
Arda Uludağ: nostr:npub1puclr9p6yhel2duzask9wfdah0ux5cppw22uz62c0w9cdj3nv0wseuvedh
Musab Babayiğit: nostr:npub1euf7xgdws7n62nwv03fhu82ak24xrka7hedathyuyq9hmhcjxs7sfvwjsn
Kadir: nostr:npub18589me8hqqmt5ect7hjz5k6d2srxzere0uc975gq7hldp9v3qpkslxjn7p
Çınar: nostr:npub12mwsgqaejk98xcsv8k7rf3yat2t2kzu0zzma6jp39rphqx5hajsq4khdeg
Nur Parrhesia: nostr:npub16nnuyfrxguumqdt8xerkkhtgjyxa7qyvfnz4r4ameanqp4aggarqm877qw
Ömer Agâh: nostr:npub1eeze28u72zfa8hl8kfkfnl4jwfe07zsrukug237rsjre7wnvzlrsl49u8h
Korporatist Mağduru: nostr:npub1337wmdvjtxrne5fxrqtc7re8rtj88wnnnsfg562jg39sx2k9p5lqwcjsfh
Alfred: nostr:npub1mdyegp38ahjcpje7ugzmt4ylugrk3hfmwm9tqq72jhdg3ykc4ahs8svgs8
Sefa Uzuner: nostr:npub1ce0khypkfrjxga6umfd82fhtg9xldm583mys4pkvg8zex20gls9s9qrrgj
![](https://image.nostr.build/26007a84e5980f27a4fb421cf1806877558814111caec26e066ca9c40841442c.png)
-
2024-08-21 15:29:03
I had something of an epiphany recently about needing to work for a cause I believe in, rather than just fiat mining. I was up all night thinking about the right fit and what my value proposition is.
You all have helped me realize that there's real interest in my perspective (thank you), so that's part of the proposition.
I was also reflecting on how limited the presence of most prominent libertarians is in the bitcoin ecosystem, despite the immense interest in their insights. That made me realize I can make at least a two-fold impact for a libertarian/free-market organization: my own content and integrating them into the bitcoin community.
This is the first draft of a letter I'm planning on sending to the Libertarian Institute, which is run by the great Scott Horton. I'd love your feedback on this letter. The aim of it is simply to pique their interest and generate a follow up conversation.
As it happens, the Libertarian Institute is based in Austin, so perhaps this will enable me to drop in on the SN HQ occasionally.
----------
Dear Libertarian Institute,
I'm reaching out to express my interest in joining your amazing institute. I’ve been following Scott’s work since 2007 and deeply admired the late Will Grigg’s articles. I believe I can add to the impressive scholarship you're already doing, while also helping you reach an audience that is very interested in your work and opening new fundraising opportunities.
I finished my economics PhD during the pandemic. Like most new graduates, I took what work was available, but now I’m looking to dedicate myself to spreading libertarianism and sound economics full-time. Some of my interests are economic geography (voting with your feet, jurisdictional arbitrage, secession, etc), political polarization, parallel institutions, bitcoin, and climate science. My academic training and research in those areas would give the Libertarian Institute another person to dissect the relentless stream of propaganda that comes out on those and other topics.
For my own sanity, I've been writing about libertarianism and economics at Stacker News, on the side, for the past couple of years. The positive reception to Rothbardian libertarianism and economics there has made me realize that our ideological camp is missing out on some low-hanging fruit. This site is part of the bitcoin ecosystem, where demand for Austro-libertarian thought is very high, but our scholars have a very limited presence.
I’ve found bitcoiners to be eager and willing to donate to those who are adding value in their spaces. I can help the Libertarian Institute establish itself as one of the intellectual pillars in this emerging libertarian community, both through my own contributions and by making your existing scholarship more visible there, as well as setting up the necessary technology to receive bitcoin donations and interact with their social media spaces.
I wish you all the very best. Thank you for your work. Hopefully, I'll have a chance to continue this discussion with you soon.
Sincerely,
Undisciplined (not how I plan to sign the real letter)
originally posted at https://stacker.news/items/657036
-
2024-08-21 13:37:49
This is Olive Grove Eggs, a brand new site from Huevos del Olivar that's just getting started. Things will be up and running here shortly, but you can [subscribe](#/portal/) in the meantime if you'd like to stay up to date and receive emails when new content is published!
-
2024-08-21 09:28:39
เราขายส่ง ผลิต นำเข้า ส่งออก:
เสื้อเชิ้ตผู้ชาย 100% Cotton
ผ้าซารองชายหาด ไซส์เต็ม ไม่มีชายระบาย
หมวกเบสบอล 100% Cotton สไตล์แผง สายปรับได้
ปริมาณสั่งซื้อขั้นต่ำ 72 ชิ้น สินค้าคละประเภท
การขนส่งทางอากาศระหว่างประเทศ
DHL, FedEx, United Parcel Service
ตัวแทน ตัวแทนจำหน่าย ผู้จัดจำหน่าย ผู้นำเข้า ผู้ส่งออก ผู้ขายต่อ ผู้ค้า ผู้ค้าส่ง โดยเฉพาะใน
กัมพูชา: พนมเปญ เสียมเรียบ
ลาว: ตาโลตเซา เวียงจันทน์
ประเทศไทย: กรุงเทพฯ เชียงใหม่ พัทยา
สหรัฐอาหรับเอมิเรตส์ ดูไบ
เวียดนาม: ดานัง ฮานอย
กรุณาถามหาฉัน ริช
LINE @ Globalmerchant
https://globalmerchant.io/pages/thailand
originally posted at https://stacker.news/items/656681
-
2024-08-21 09:10:52
Ho Aloha Brand
Men's 100% Rayon Shirts.
Harmon code: 6205.30
Origin: Bangladesh.
Individually packed in clear re-sealable plastic bags.
Unit price prox 20,000 SATS each F.O.B. Honolulu.
Shipped DAP, via DHL, FedEx, Yamato Transport, United Parcel Service.
Payment: Discuss.
Link to website: https://www.hoalohawear.com
Agents, Importers, Re-Sellers, Wholesalers contact: Rich
originally posted at https://stacker.news/items/656675
-
2024-08-21 08:53:52
The two top best selling Hawaiian print hats back in stock.
100% Cotton.
Adjustable strap on back.
Adult size.
Origin: China.
Individually packed in clear re-sealable plastic bags.
Unit price prox 6,300 SATS each C.I.F. destination.
Based on MOQ specials.
Shipping, price includes air shipping Worldwide via DHL, FedEx, United Parcel Service.
Payment: Preferred Payment: Bitcoin.
Link to website: https://globalmerchant.io/products/assorted-hawaiian-themed-hats
Agents, Importers, Re-Sellers, Wholesalers contact: Rich
originally posted at https://stacker.news/items/656651
-
2024-08-21 08:38:28
Beach Sarongs 100% printed polyester.
Full Size.
Origin: India.
Individually packed in clear re-sealable plastic bags. 12 pieces per master pack. Both inner and outer packages have barcodes, ready for your point of sale system.
Unit price prox. 6,300 SATS each C.I.F. destination.
Shipping, price includes air shipping Worldwide via DHL, FedEx, United Parcel Service.
Ships from Honolulu.
Payment: Preferred Payment: Bitcoin.
Link to website: https://globalmerchant.io/collections/sarongs
Agents, Importers, Re-Sellers, Wholesalers contact: Rich
originally posted at https://stacker.news/items/656644
-
2024-08-21 08:28:31
These best sellers back in stock.
Men's 100% Cotton shirts, woven, NOT knitted.
Short sleeve, Coconut shell buttons, matching pocket, side splits.
Origin: India.
Individually packed in clear re-sealable plastic bags.
Size Range available: Small-3X.
Unit price 17,000 SATS each C.I.F. destination.
Shipping, price includes air shipping Worldwide via DHL, FedEx, United Parcel Service.
Payment: Preferred Payment: Bitcoin.
Link to website: https://globalmerchant.io/collections/mens-cotton-shirts
Agents, Importers, Re-Sellers, Wholesalers contact: Rich
originally posted at https://stacker.news/items/656637
-
2024-08-21 08:26:44
These best sellers back in stock.
Men's 100% Cotton shirts, woven, NOT knitted.
Short sleeve, Coconut shell buttons, matching pocket, side splits.
Origin: India.
Individually packed in clear re-sealable plastic bags.
Size Range available: Small-3X.
Unit price 17,000 SATS each C.I.F. destination.
Shipping, price includes air shipping Worldwide via DHL, FedEx, United Parcel Service.
Payment: Preferred Payment: Bitcoin.
Link to website: https://globalmerchant.io/collections/mens-cotton-shirts
Agents, Importers, Re-Sellers, Wholesalers contact: Rich
originally posted at https://stacker.news/items/656636
-
2024-08-21 07:01:29
Yesterday, my daughter and I decided to play Monopoly, but instead of using Monopoly money, I thought it would be fun to use sats instead! Here’s how it went.
Preparation:
Here’s how I set up the game:
1 Zeus wallet connected to my node, with an open channel to WoS.
2 WoS wallets (1 for me and 1 for my daughter), each with a 0 balance to start.
Originally, I considered using Blink wallets, but the problem with Blink is that it displays the balance in EUR in a large font, while the sats balance is smaller. This isn’t ideal when you're playing Monopoly and want to treat 1 sat = 1 Monopoly dollar. So, we switched to WoS, where the sats balance is prominently displayed, with the EUR balance in a smaller font underneath.
In our version of Monopoly, each player starts with 1500 Monopoly dollars and earns 200 when passing GO. It was easy to follow this system using sats.
I installed WoS on my daughter’s phone and transferred 1500 sats from my Zeus wallet to her WoS wallet. I did the same for myself, so we both had a 1500 sat starting balance. I used Zeus as the "bank" and WoS as my player wallet on the same phone, but if you have an extra device or don’t trust the bank, you can separate them.
And yes, I know you can go fully non-custodial by setting up LNBits with Umbrel and using Blue Wallet on separate devices for each family member. However, that takes longer to set up, requires VPN connections for everyone, and seemed unnecessary for our casual game. In my setup, only the bank needed a VPN, which was simple and only took about 5 minutes.
Game:
The game got fun pretty quickly! Every time my daughter passed GO, she showed me her QR code with a sly smile, and the bank paid out her 200 sats with zero fees. Players also paid each other with zero fees.
Twice, WoS randomly charged a 1-sat fee when transferring from WoS to Zeus—once from my wallet and once from my daughter’s. To keep things fair, I had the bank reimburse those 2 sats.
We did run into one small issue: I needed to pay my daughter 200 sats for landing on her hotel, but since I only had exactly 200 sats left, WoS wouldn’t let me send it, even though it was a WoS-to-WoS transaction.
Conclusion:
At the (unofficial) end of the game—since it was getting late—my daughter had 2810 sats, and I had 1650 sats. At this point, each stop was costing between 300 and 600 sats, so I suppose the real end was near!
Overall, it was a smooth experience, and my daughter got quite comfortable with sending and receiving bitcoin, even though it was her first time doing so. She did show more interest in the EUR balance, but I’m sure she’ll come to appreciate the sats balance soon enough!
I highly recommend this as a fun way to introduce people to the Bitcoin Lightning Network. Most people already have a Monopoly game at home, and if you have a couple of spare devices, you can easily install WoS for everyone. (Perhaps not in the U.S. right now, but I’m not entirely sure on that front.)
Would definitely recommend trying it out!
![](https://m.stacker.news/47222)
originally posted at https://stacker.news/items/656614
-
2024-08-21 06:03:43
# On April 24, 2012, Erik Voorhees changed everything about Bitcoin with the launch of Satoshi Dice:
a game that captivated users and intensified debates about Bitcoin's evolution and the network's ability to handle an increasing volume of transactions.
At that time, Satoshi Dice allowed thousands of players to bet on digital dice rolls, leading to a **MASSIVE** influx of transactions that filled the blocks of the blockchain.
![](https://m.stacker.news/47060)
## 📈 Success of Satoshi Dice:
Satoshi Dice achieved phenomenal success, attracting millions of users with its simplicity.
Players flocked in, bets piled up, and blocks filled up.
![](https://m.stacker.news/47066)
Erik Voorhees effectively leveraged Bitcoin's microtransactions, quickly saturating the blocks with these. This was a testament to the game's popularity, but also a source of tension within the community.
Within months, Satoshi Dice became the most popular service on the Bitcoin network, boosting its usage and virality.
Players appreciated the "provable fairness" aspect of the game, where they could verify the transparency and fairness of each bet.
## 🚫 Criticism and Controversy:
However, this success was not without criticism.
Many Bitcoin enthusiasts viewed the massive influx of transactions generated by the game unfavorably.
For them, these sometimes trivial transactions "spammed" the blockchain, clogging the blocks and increasing transaction fees for all users. Does this sound familiar?
The network, designed to handle about seven transactions per second, quickly reached its maximum capacity, causing validation delays and "high" fees.
![](https://m.stacker.news/47067)
## ⚔️ BlockSize Wars:
The BlockSize wars, which took place mainly between 2016 and 2017, were a technical and ideological conflict centered on block size and scalability solutions.
While Satoshi Dice was not the sole cause, the game significantly contributed to the emergence of this event by helping to popularize Bitcoin among new users and generating substantial transaction volume.
As Bitcoin adoption grew, the network faced intense pressure, leading to block saturation and rising transaction fees.
On one side, some advocated for increasing block size to allow more transactions, leading to the creation of Bitcoin Cash in August 2017. On the other, proponents of solutions like SegWit pushed for improvements without compromising decentralization.
## 🔧 Adoption of SegWit:
Erik Voorhees expressed his support for the SegWit2x proposal, which aimed to improve network scalability by combining the implementation of SegWit with an increase in block size.
Segregated Witness (SegWit) was adopted in August 2017, allowing transaction data to be separated from signatures. This reorganization not only increased transaction processing capacity but also paved the way for the development of the Lightning Network, a layer 2 solution enabling instant and low-cost transactions.
SegWit was a crucial response to the challenges posed by network congestion, which had been exacerbated by Bitcoin's growing adoption and the emergence of popular applications like Satoshi Dice.
## ⚡ SegWit and Lightning:
The adoption of SegWit helped resolve blockchain congestion issues, while the Lightning Network, a layer 2 solution, facilitated fast and low-cost transactions.
Together, these innovations not only addressed technical challenges but also renewed enthusiasm for games and other applications on Bitcoin, paving the way for a new wave of development.
![](https://m.stacker.news/47068)
## 🎲 Nostr Dice:
Today, as we reflect on the impact of Satoshi Dice, a new project emerges: nostr:npub1nstrdc6z4y9xadyj4z2zfecu6zt05uvlmd08ea0vchcvfrjvv7yq8lns84
This modern clone of the original game is built on Nostr, a decentralized communication protocol, and Lightning, paying homage to the past while offering an enhanced gaming experience that does not impact layer 1 congestion!
From a game that caused Bitcoin congestion to its rebirth on Lightning, which it helped to bring about, the circle is complete!
![](https://m.stacker.news/47069)
-
2024-08-21 04:00:40
# Changes
## William Casarin (10):
- temp ownership fix
- fix FilterBuilder
- update bindings
- Add filter iteration
- update build.rs to rusty's ccan rework
- filter: expose more builder options
- update bindings
- filter: mutable since
- filter: add from_json
- since/limit mut methods
pushed to [nostrdb-rs:refs/heads/master](http://git.jb55.com/nostrdb-rs/commit/4c89dcbca13168758eb41752225b4e486dbc9d20.html)
-
2024-08-20 18:13:02
https://image.nostr.build/1a5dd126fa56c5c188962ec7e278e28b710fdd93b701d673432c18dc2ab1b15c.jpg
How disappointing to observe Bitcoiners still using mainly YouTube to distribute their own content or content of interest for the community...
It would be nice if more Bitcoiners , specially the ones with channels start sharing as well in Odysee or other platforms less centralized and totalitarian...
#BTC
#Bitcoin
#Odysee
#YouTubeSucks
#Nostr
originally posted at https://stacker.news/items/656117
-
2024-08-20 17:15:54
Alright folks, it's showtime! The **Thailand Bitcoin Conference 2024 (#TBC2024)** is about to kick off, and as one of the organizers, yours truly, Jakk Goodday, co-founder of Right Shift, is beyond stoked. This isn't just another conference, it's the culmination of our passion, dedication, and vision for a brighter future, brought to life by a vibrant community of Bitcoin enthusiasts in Thailand.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/d830ee7b7c30a364b1244b779afbb4f156733ffb8c87235086e26b0b4e61cd62/files/1724172694166-YAKIHONNES3.png)
### Get ready to rumble!
Picture this: you step into a bustling hall at **True Digital Park** in the heart of **Bangkok.** The air is buzzing with anticipation as over 500 passionate Bitcoiners, from seasoned veterans to eager newcomers, gather to connect and exchange ideas. The lights dim, the stage comes alive, and a lineup of captivating speakers, both local and international, take the spotlight, ready to ignite the spark of inspiration.
TBC2024 is more than just talks and presentations. It's about forging genuine connections, engaging in lively discussions, sharing laughter, and making new friends. It's about experiencing the Thai Bitcoin scene firsthand, with a bustling marketplace showcasing innovative Bitcoin-powered businesses and delectable local treats. And let's not forget the epic after-party, where the music will pulse, the drinks will flow, and the community will come alive in a celebration of the Bitcoin spirit.
### What's on the agenda?
We've got a jam-packed program spread across two days, with three stages catering to all levels of Bitcoin enthusiasts.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/d830ee7b7c30a364b1244b779afbb4f156733ffb8c87235086e26b0b4e61cd62/files/1724172737406-YAKIHONNES3.jpg)
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/d830ee7b7c30a364b1244b779afbb4f156733ffb8c87235086e26b0b4e61cd62/files/1724173047676-YAKIHONNES3.png)
**Day 1: Echoes of Hope** will delve into Bitcoin's potential to tackle social and economic challenges. Get ready for thought-provoking talks by industry leaders like **Dr. Wichit Saiklao** and **Dr. Big**, also **Piriya** who will challenge your understanding of money and the economy. Hear inspiring stories from **Jimmy Kostro** about how Bitcoin is empowering communities, and gain insights from content creators like **Pong SUPERTOMMO, Tip_NZ**, and **Isora Hata** on navigating the digital landscape. We'll even explore the intersection of Bitcoin and morality with **Mu'aawiyah Tucker**. And more.. And to ensure everyone's on the same page, we'll have **real-time Thai-English subtitles** on the big screen!
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/d830ee7b7c30a364b1244b779afbb4f156733ffb8c87235086e26b0b4e61cd62/files/1724172761532-YAKIHONNES3.jpg)
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/d830ee7b7c30a364b1244b779afbb4f156733ffb8c87235086e26b0b4e61cd62/files/1724174066846-YAKIHONNES3.png)
**Day 2: Unlocking the Future** will focus on real-world Bitcoin applications and their impact. Witness how Bitcoin is transforming industries and empowering individuals with **Kgothatso Ngako's** showcase of **Machankura**, a Bitcoin platform that doesn't require internet access. Be inspired by **Captain Sidd's** tales of Bitcoin-fueled adventures, and gain a new perspective on human rights with **Alex Li** from the **Human Rights Foundation**. We'll also have insightful discussions on building the Bitcoin community in Thailand and the rise of Asian Bitcoin communities. The day will culminate with a powerful closing message from **Piriya, Khing**, and **Jingjo** from **Right Shift**, reminding us how Bitcoin is fixing our broken monetary system.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/d830ee7b7c30a364b1244b779afbb4f156733ffb8c87235086e26b0b4e61cd62/files/1724173107783-YAKIHONNES3.png)
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/d830ee7b7c30a364b1244b779afbb4f156733ffb8c87235086e26b0b4e61cd62/files/1724173113805-YAKIHONNES3.png)
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/d830ee7b7c30a364b1244b779afbb4f156733ffb8c87235086e26b0b4e61cd62/files/1724174122077-YAKIHONNES3.png)
### More stages, more fun!
The excitement doesn't stop at the Main Stage. TBC2024 offers two additional stages that cater to every level of Bitcoin enthusiast.
* **Advanced Stage**: For developers, tech enthusiasts, or anyone who wants to explore the cutting-edge of Bitcoin technology. Get ready to roll up your sleeves and dive deep into the technical intricacies of Bitcoin with hands-on workshops and interactive sessions.
* **Beginner Stage**: New to Bitcoin? No worries! The Beginner Stage is designed to gently guide you through the fundamentals of Bitcoin. We'll cover everything from setting up your first Bitcoin wallet to making your first Lightning transaction.
Whether you're a tech-savvy coder or a curious beginner, TBC2024 has something for everyone. Come join us and immerse yourself in the world of Bitcoin. Let's learn, explore, and build the future together.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/d830ee7b7c30a364b1244b779afbb4f156733ffb8c87235086e26b0b4e61cd62/files/1724172788395-YAKIHONNES3.jpg)
### Siamstr vibes: Where connections spark and friendships flourish
TBC2024 isn't just a conference, it's a full-on community gathering, warm and welcoming. Get ready for laughter, lively conversations, and new friendships that'll make you feel right at home.
* **Experience the Siamstr Spirit**: The Thai Bitcoin community on Nostr is known for its tight-knit, friendly vibe. You'll meet a diverse crowd, all united by their love for Bitcoin.
* **Cutting-Edge Marketplace**: Get ready for a lightning-fast marketplace showcasing the coolest products and services from Thai entrepreneurs who accept Bitcoin Lightning payments!
* **Exclusive Dinner Party**: Join us for an unforgettable dinner in a relaxed atmosphere. Rub shoulders with speakers, Bitcoin OGs, and fellow enthusiasts, and listen to exclusive "Chit Talk" sessions on hot topics revealed only at the event. Then, let loose at the after-party, with a mini-concert and plenty of craft beer from Chit Beer to keep the good times rolling.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/d830ee7b7c30a364b1244b779afbb4f156733ffb8c87235086e26b0b4e61cd62/files/1724173158812-YAKIHONNES3.jpg)
TBC2024 is more than just a conference; it's an experience that will let you feel the true power of the Bitcoin community. Come be a part of Siamstr and make some unforgettable memories!
### Join the Movement
So, whether you're a seasoned Bitcoiner or simply Bitcoin-curious, TBC2024 is the place to be. Come join us in Bangkok and experience the magic of the Siamstr community. Let's build a brighter future, together.
See you there!
**Jakk Goodday**
#TBC2024 #Bitcoin #Siamstr
14-15 September 2024
**Get Digital Ticket** [here](https://www.eventpop.me/e/17031/tbc2024)
Reserve your seat with [Bitcoin Lightning payment here.](https://rightshift.to/product/tbc2024-event-ticket/)
-
2024-08-20 14:19:59
Welcome to YakiHonne, where we’re excited to introduce you to our innovative Smart Widgets! These interactive components allow you to create dynamic and engaging campaigns directly within social feeds, all without needing any coding skills. Whether you’re new to Smart Widgets or looking to refine your approach, this guide will walk you through the process.
### Step 1: Log In
Start by logging into your YakiHonne account. This is your gateway to creating and managing Smart Widgets. If you don’t have an account yet, sign up easily on our website.
### Step 2: Create Smart Widgets
Once you’re logged in, it’s time to get creative. Head over to the “Post” section and select “Smart Widget.” Here, you have two options:
**Option 1: Create from Scratch**
If you have a specific idea in mind, you can create your Smart Widget from a blank canvas:
• Click on “Create Blank Widget.”
• Begin designing by adding your unique content, interactive features, and any elements that match your campaign’s needs.
• Customize the appearance and functionality to fit your brand or message.
**Option 2: Choose a Template**
If you’re not sure where to start or want some inspiration, using a template is a great option:
• Select “Templates” from the options available.
• Browse through a variety of pre-designed templates.
• Choose one that fits your campaign’s goal, and customize it to make it your own.
**Option 3: Clone a Community Widget**
If you want to explore what others are doing, you can clone a widget shared by the community:
• Click on “Smart Widgets” to see what the community has shared.
• Browse through the community’s shared Smart Widgets.
• Find a widget you like, and click “Clone.”
• Modify the copied widget to create your unique Smart Widget.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/20986fb83e775d96d188ca5c9df10ce6d613e0eb7e5768a0f0b12b37cdac21b3/files/1723815035344-YAKIHONNES3.png)
### Step 3: Explore Smart Widgets Features
Your Smart Widgets can do much more than just display content. Let’s dive into the features you can integrate:
• User Engagement Tools: Add polls, surveys, or quizzes to interact with your audience.
• BitcoinFi Integration: Enable features that support Bitcoin transactions, like tipping or payment gateways.
• Governance Options: Incorporate voting systems to allow users to participate in decision-making processes.
• Product Growth: Use widgets to drive user growth through referral programs or viral marketing techniques.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/20986fb83e775d96d188ca5c9df10ce6d613e0eb7e5768a0f0b12b37cdac21b3/files/1723815056292-YAKIHONNES3.jpeg)
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/20986fb83e775d96d188ca5c9df10ce6d613e0eb7e5768a0f0b12b37cdac21b3/files/1723815061683-YAKIHONNES3.jpeg)
These features are designed to enhance interaction and make your Smart Widget stand out. Feel free to experiment with different combinations to see what works best for your campaign.
### Step 4: Publish Your Smart Widgets
After you’ve created and customized your Smart Widget, it’s time to share it with the world:
• Preview your widget to ensure everything looks and works as intended.
• Click “Post my Smart Widget” to publish it.
• Your widget is now live and ready for others to interact with in their social feeds.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/20986fb83e775d96d188ca5c9df10ce6d613e0eb7e5768a0f0b12b37cdac21b3/files/1723815081484-YAKIHONNES3.png)
### Step 5: Add Smart Widgets to Notes
To maximize the impact of your Smart Widget, you can integrate it into your Notes:
• Go to the “Notes” section on your dashboard.
• Select “Add Smart Widget” and choose the widget you’ve just created.
• Publish the note, and now your audience can engage with your Smart Widget directly through the note.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/20986fb83e775d96d188ca5c9df10ce6d613e0eb7e5768a0f0b12b37cdac21b3/files/1723815092233-YAKIHONNES3.png)
### Tips for Success
* Experiment with Features: Don’t hesitate to try out different combinations of features to find what works best for your audience.
* Engage Your Audience: The more interactive and engaging your Smart Widget is, the better the results.
* Monitor Performance: After publishing, keep an eye on how your Smart Widget is performing. Adjust and optimize based on user feedback and engagement metrics.
### User Guideline Video Resources
[Create from Scratch](https://drive.google.com/drive/folders/1-vBaL31-lDB2d7LQtnONeQ9xmF_4Pm4Y)
[Choose a Template](https://drive.google.com/drive/folders/1-vBaL31-lDB2d7LQtnONeQ9xmF_4Pm4Y)
[Clone a Community Widget](https://drive.google.com/drive/folders/1-vBaL31-lDB2d7LQtnONeQ9xmF_4Pm4Y)
[Full tutorial video ](https://drive.google.com/drive/folders/1-vBaL31-lDB2d7LQtnONeQ9xmF_4Pm4Y)
### Conclusion
Creating and using Smart Widgets on YakiHonne is a powerful way to engage with your audience, promote your brand, and drive meaningful interactions. With no coding required, the possibilities are endless. Start exploring today, and see how Smart Widgets can take your campaigns to the next level!
Happy creating!
-
2024-08-20 09:35:18
I grew up thinking adulthood would be boring.
I thought by age 45 you'd hurt too bad to do anything fun. I thought you'd just go to a job somewhere and work all day and come back home for a couple hours, just to go do it again. Growing up, I even thought 25 year olds were old and boring.
Thankfully, all those models are destroyed.
I'm 31 today, and my refusal to be bored has led to an interesting life so far. One that my 18 year old self would mostly approve of. Which is quite the measure of success according to Taleb.
*“For I have a single definition of success: you look in the mirror every evening, and wonder if you disappoint the person you were at 18, right before the age when people start getting corrupted by life."*
I wonder what's next. What other magic I can pull outta my hat. What kind of luck I can stir up. I have 2 north stars. Fun and Family.
**FUN**
Turns out the fun part isn't just endless surf trips. It isn't just partying with friends. Fun needs a mission.
Surf trips that go too long get boring. I learned that in 2018 when I did my first extended travel to the Canary Islands and Indonesia.
I was surfing my ass off in Indo. ABSOLUTELY SCORING EVERYDAY. But, I felt empty inside. I started to crave work while sitting on the island. I was excited to get back to work.
Work at that time was the occasional modeling/commercial gig and moving fridges to college dorms in the summer (my survival gig for like 6 years).
In 2017, I graduated with a master's degree in Organizational Psychology. I had all the “credentials” to have a successful “career” but out of fear of being bored/lack of real world experience I never pursued a standard career.
I also found Bitcoin that summer, which greatly altered my worldview/gave me hope for a brighter future.
From age 24 - 28 I lived never knowing where my next pay check would come from. I tried living in LA and Mexico City, but never quite found my tribe or anything worthwhile to work on. I even lived in my truck for a month in LA just to do a "fear setting" exercise I heard Tim Ferriss talk about.
I gave myself my own curriculum during that time. Exploring my interests in health and went further down the Bitcoin rabbit hole with my spare time.
In hindsight, I wouldn't trade this time of “wandering” for anything. This time prepared me for the things I'm working on today.
In the fall of 2021, I drove to Costa Rica with a vision of creating a new life somehow. I'd been there a few times and figured that's where I'd be if I had unlimited resources. I asked myself the question, "What would I be doing if I was a billionaire?". The answer? Working on something important while surfing everyday with cool people.
After bumming around for a bit, I ended up finding my tribe and consistent work for the first time in my life. I helped out with Paul Saladino's social media team, where I learned skills and furthered my knowledge about health.
During this time, I went to a ton of Bitcoin conferences with no agenda, except to meet more of my "tribe". The decision to do this brought incredible returns to my life.
*“Never settle. When you refuse to settle for less than the best… the best tends to track you down” - Dr. Jack Kruse*
Today I'm working on two important missions. Making an “ethical” social media with Primal and building a “healthier” computer with Daylight computer from which I'm writing this article. These two missions are greater than anything I could fathom building myself and I'm extremely grateful for these opportunities.
**Family**
I believe strongly that it's impossible to truly understand life until you create it on your own. Might not be true for everybody, but I believe I'm hardwired this way.
I met Laura during the first month of getting a stable income in Costa Rica. It was the first time that I had a mission while talking to a girl.
I was thinking long-term the day I met her and knew that this time would be different. We didn't have much. In fact, when she met me, I just graduated from camping everyday to living in a broken house in the most beautiful location in Santa Teresa. So what there was a skunk living in our sink, we could walk to the beach in 3 minutes! I knew she was a keeper for putting up with that.
Here's a snapshot of a morning in the life of the skunk house - https://www.instagram.com/reel/CcqatvJlbFH/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==
Our relationship has been incredibly rewarding, often challenging, and I can't wait for our future together.
She pushes me to seek more and the responsibility of another person of my life gives it a ton of meaning. And I'm sure this will do a little 100x once we have kids.
Woman are hard wired to seek security and I wonder where I'd be without her push and constant testing. This constant testing is the sign of a great woman.
I'm honestly terrified to have kids, but pursuing a family seems to be the most meaningful pursuit available to man. There's no way you'll ever be bored with kids!
We get married in 50 days. Will this be the best day of our lives? Can't wait. And just found out yesterday that our wedding will be featured in the New York Times.
PV
Writing feels good. It's great to puke out some words on a screen and reflect every now and again. There's always something to learn from someone. See you on NOSTR!
-
2024-08-20 00:34:08
#### What is Peer Thinking?
https://image.nostr.build/f9c206fad2b7580af8c5236e831b6801683d9199ce26e6628ba0964fe64b1903.png
The cognitive and emotional processes that occur when individuals are influenced by their peers.
#### The psychology behind it:
The psychology behind peer influence encompasses various factors, including:
1. Social belonging and acceptance,
2. Identity formation,
3. The dynamics of group behavior
#### Is it being used to control us?
https://image.nostr.build/cf90335bbf59e3395dc4324d123cd3a058ca716cf6172f079eb1d78547008147.jpg
IMO, yes, at the core of it is the basic human need for belonging. Social belonging is a critical component since it is craved by most, specially but not only by the youngest, those with power across the world know this very well, therefore, thinking that they will not use it to control the population in order to profit from it or change public opinion would be irrational.
The media is used to brain wash the population creating something that most will consider "the norm", thus, the majority will try to conform to that norm in order to belong. That include manipulating the population to take an experimental drug (even if it could be very dangerous due to its unknown effects) or to accept as a norm a behavior that few years back would have been considered inappropriate.
#### Cognitive Dissonance
https://image.nostr.build/60f24a810be1dd6badb36d70c5a691d4361207590dea1a8e64e09a75a252cfbf.jpg
This is a term that we should get familiar with. It is a psychological state where conflicting beliefs or behaviors create discomfort.
***Example:***
A kid in high school that has a good loving family but all his close friends are on drugs (legal ones) and they keep telling him he is an idiot for not using as well. Now his is that state of conflict believes, on one side his best friends, all tell him is okay, on the other hand his family that loves him has explained him at length the dangers and issues that the drugs will have in his life. To resolve the dissonance he has three options, one, join the group and start taking drugs with the rest, two try to rationalize it, considering to take drugs just occasionally to belong but not to make it a habit, three lose his friends (and here it comes again the peer thinking to bite). Extrapolate to many other cases.
> As an anecdote
Recently, on a friend's reunion, one of the guest was complaining about one of his daughters, she was quite confused asking him why so many of her classmates were bisexual, she was wondering if something was wrong with her since she was not; a 13 year old girl; the father was having a hard time explaining her that the majority are saying so just to feel as part of what the school was teaching to be the norm, it was not cool to be straight, the tally was 37% of the class. Consider that, statistically, the number of people, “worldwide” identifying as bisexual are between 3% and 5% (less than 1% in less accepting countries), that number used to be less than 2% less than a decade ago. But 37% is far from the statistical norm, indicating a peer thinking behavior but not the reality of their sexual preferences. Once again, extrapolate to any ideology, religion, gender identity, political agenda that a country desires to push forward for whatever reason, adding that to the official school program and to federal mandatory training programs would do the trick.
A powerful tool, that can be used for good or bad.
#### What are the strategies to counter negative peer thinking?
https://image.nostr.build/4b70949b8af76ed53a5be5507f41f1d1c960dc3592f199eab78e2d25688975c5.jpg
Reading the literature about the subject, few strategies are recommended:
1. *Self-Awareness*: teaching ourselves and our children to recognize when we are being influenced by peers
2. *Being selective with your friends*: peers with similar values will reinforce positive behaviors
3. *Learning to be assertive*: teaching ourselves and our children to communicate assertively our boundaries will empower us and them to resist unwanted pressure to adopt negative behaviors.
4. *Less judging more talking*: this applies to our children and partners, judging less and listening more will make our beloved ones more open to discuss social pressures.
***What do you think?***
***What strategies you use as counter measures?***
originally posted at https://stacker.news/items/655270
-
2024-08-19 23:42:07
I posted my round by round draft targets yesterday, but have a few more thoughts that didn’t make it into that piece:
I’m warming up to Bijan Robinson with a top-three pick. This interview with Kay Adams (even though it’s just the usual talk) got my attention. Robinson is so relaxed, so even-keeled and yet he’s studying Christian McCaffrey’s every carry like a fanatic. Not that it’s going out on a thin limb as he routinely goes that early, but I had previously been wedded to taking a receiver (now that McCaffrey already has a calf injury.)
I said to Alan Seslowsky that Mike Williams was on my do-not-draft list because he’s so injury prone, but I double-checked and he hasn’t been that bad other than last year. Maybe I had him the year he did a lot early and then fell off steeply despite not missing many games. Maybe he was on the injury report a lot. I don’t know. But he’s actually not a bad value in Round 11 — he’s always been good when healthy, and the Jets are not deep.
I said yesterday I don’t have a strong preference in the first round, and the Robinson note aside, that’s still mostly true. I like all the receivers, and I’m fine with Breece Hall and Jonathan Taylor too. Of course, that doesn’t mean all of them will be fine — at least a couple almost surely will not — only that I can’t tell which ones. As important as it is to know your leans and act on them, it’s equally important to realize when you don’t have one and let ADP and positional need dictate your options.
I took Anthony Richardson in Beat Chris Liss 2, and while I don’t regret it as he really could be the QB1, I think the play in the Primetime will be to wait forever on QB and get some combo of Trevor Lawrence/Kurt Cousins/Justin Herbert/Matthew Stafford/Justin Fields, or even Daniel Jones. There’s just so much depth with upside. You could even take three QBs late.
The “hero” RB build (where you take a star RB in Rounds 1 or 2) and lots of receivers around them, before getting your RB2 candidates later is popular now, and you can see why. There aren’t that many top backs, so getting one is a big edge, and then you still catch up at receiver against all the teams that took a TE or top QB early. I just think this is mostly an on-paper exercise, and by mid-season the best teams usually have 4-5 surviving good players at all positions combined and have to cobble it to together with short-term fill-ins and waiver wire, i.e., build is overrated.
Both my drafts so far were from early (1 and 3), and I wouldn’t mind having one league from the back, getting Jonathan Taylor and say Puka Nacua. It would be cool to get Cooper Kupp in Round 3 too, but lately he’s moved up out of that range.
I stacked C.J. Stroud and Stefon Diggs in BCL1, but didn’t stack anyone in BCL2. Stacking is one of those things that’s great if no one else is doing it, but loses value the more it’s done. If you have Travis Kelce and Patrick Mahomes, but so do 25 percent of the Mahomes’ owners, is that really better than having Anthony Richardson and a random TE1 (in my case Brock Bowers). Sure there’s no correlation, but only 1 in 12 Richardson teams should be expected to have Bowers (even fewer if the Colts had a good TE as many would have paired them.) So yes, if Mahomes goes off, there’s a better chance he takes Kelce with him, but you still have to beat out 3x more teams with your same set up than I do if Richardson goes off, and Bowers happens to as well. Sure, the correlation makes your scenario more likely, but likely enough to compensate for its commonality?
-
2024-08-19 23:36:04
## Details
- ⏲️ Prep time: 5 mins
- 🍳 Cook time: 10mins
- 🍽️ Servings: 2-
## Ingredients
- Shishito
- Butter/ Oil of your choice
- Soy sauce
- Salt
- Sugar (optional)
## Directions
1. 1. Wash shishitos, remove stems, and dry.
2. 2. Heat the pan, add butter or oil, and shishitos. Sauté until shishitos are tender and winkled.
3. 3. Add a bit of sugar (optional), and a bit of salts, and finally soy sauce. Do not add too much soy sauce. Try and adjust with more say sauce if needed.
-
2024-08-19 20:00:48
Opinion about Freewallet Multi Crypto Wallet (iphone)
<!--HEADER END-->
The FRWT wallet is gone from Google Play, but Freewallet, the original scam, is still a major threat. We must continue to report and warn others about this dangerous app.
<!--FOOTER START-->
#WalletScrutiny #nostrOpinion
[Join the conversation!](https://walletscrutiny.com/iphone/mw.org.freewallet.app)
-
2024-08-19 19:11:13
In today's episode, I delve into silent payments in Bitcoin, introduced through BIP 352 to enhance privacy. I discuss its benefits, drawbacks, and impact, plus updates on BitVM 2, BTrust, and more.
- Silent Payments Explained
- US "Officials" to Redefine "Money"
- BitVM2 on the Horizen
- Trump Taps Bitcoiner For Transition Team
- Ark Protocol is ALIVE!
Listen on @fountain
--> https://fountain.fm/episode/oi8mInXrys0GD1SRdEyH <--
originally posted at https://stacker.news/items/654973
-
2024-08-19 16:09:54
After finishing a podcast about unpopular ideas regarding Bitcoin and previously writing this reflection on [why Stacker News works](https://stacker.news/items/622904), I have to admit that I kept thinking about my own response.
And… join me in this reflection.
### What does it mean if you don't have Bitcoin to spend?
It means you've been buying Bitcoin, you've stored it securely in a way that makes you feel safe. After that, you go on with your life. Now, you want to buy a coffee—let's assume you want to buy a coffee.
**Do you have Bitcoin to buy it?** While it's true that in our circle, we promote the use of Lightning Network, during my conversations with people who use cryptocurrencies[^1], most aren't inclined to spend their Bitcoin.
![](https://m.stacker.news/46943)
[^1]: Most people don't use Lightning Network, at least when I encounter lots of bitcoiners who started recently, didn't know either about it.
### What does "inclined" mean in this context?
It's the same as having a wallet or purse from which you take out your cash to pay for what you want. Following this analogy, most Bitcoiners have their satoshis secured in a safe, away from devices.
#### So, where are the Bitcoins ready to spend?
There's another reflection. The Bitcoins ready to spend are mostly moving [in custodial wallets or with additional centralized integrations](https://stacker.news/items/154820); put more simply, the reason Wallet of Satoshi, Binance, Coinbase are successful—in my opinion—is because you need some data, and they take care of the nodes, routes, channels... all you need to do is provide some info about yourself, and you're good to go. The same goes for exchanges. In exchange for information, they offer you a myriad of services so you can use your Bitcoins, pay for everything.
### So...
That's one main reason why custodial projects get more attention than self-custodial ones. I'm not making judgments about whether this is right or wrong; I'm analyzing the scenarios for why the most... significant developments happen in that realm. If I want to extend this to others, we could also say that mining has been subject to this too. Bitmain and other companies have closed their patents, making the study or documentation of their machines inaccessible[^2]. In that case, yes, there are Bitcoins ready to spend[^3].
[^2]: That's why we find innovative when Nerdminer or BitAxe pulls out their product.
[^3]: Kudos to BTCPayServer in this case for make the coolest software to spend my bitcoins.
Honestly, I don't have a conclusion. This morning, I was reflecting on this myself. I've supported various projects with sats and will continue to do so, but in the interest of making Bitcoin a more...usable currency, we must consider that simply holding and not spending, we're not creating a friendly environment for merchants and people interested in commerce to use their Bitcoins, but we must keep pushing forward.
In the end, I’m super bullish on Bitcoin. No doubts at all.
**On the other hand, am I seeing a different panorama than you?**
originally posted at https://stacker.news/items/654755
-
2024-08-19 14:25:02
test
originally posted at https://stacker.news/items/459389
-
2024-08-19 12:41:49
| OLD LOGO | NEW LOGO|
|---|---|
|![](https://m.stacker.news/46842)|![](https://m.stacker.news/46843)|
- - -
LifPay is a not well know yet custodial web and mobile app that had since inception focus on deliverring some really interestingg features, as the sale of digital goods, multiple account management and nostr integration to name few.
It recently update its design proposing an interesting switch from the original orange details to some green/purple alternatives.
NEW LANDING PAGE
![](https://m.stacker.news/46844)
OLD APP SCREENS
![](https://m.stacker.news/46845)
NEW APP SCREENS
![](https://m.stacker.news/46846)
TRY LIFPAY!
... and let us know your thoughts!
https://lifpay.me/
originally posted at https://stacker.news/items/654432
-
2024-08-19 11:59:16
EXPOSEEEEE
The Hidden Truth Behind M-PESA and Bitcoin: Why Off-Ramp Services Can Send Money to Mobile Numbers But Fail with Paybill and Buy Goods
In the fast-evolving world of digital finance, Kenya’s M-PESA stands as a pioneering model, allowing millions to send money, pay bills, and buy goods with ease. At the same time, Bitcoin has gained traction globally, offering decentralized financial freedom. But when these two worlds collide, particularly in the realm of Bitcoin off-ramps, some serious limitations become apparent. Specifically, while Bitcoin off-ramp services can easily send money to M-PESA mobile numbers, they hit a brick wall when it comes to Paybill and Buy Goods services. Let’s break down exactly why this happens, backed by the facts.
### **Mobile Number Transfers: Simple, Universal, and Accessible**
M-PESA’s mobile number transfers are the simplest form of transaction in its ecosystem. They involve sending money directly to a recipient’s mobile number, which serves as a unique identifier within the M-PESA system. This process is straightforward and doesn’t require complex integrations or verifications beyond the basic identity checks M-PESA already has in place.
**Why Bitcoin Off-Ramps Can Handle This:**
1. **Simple Integration with M-PESA’s API:**
- Safaricom provides APIs that allow external services to interact with M-PESA’s system, particularly for mobile number transfers. Bitcoin off-ramp services can integrate these APIs to convert Bitcoin into Kenyan Shillings and send it directly to a user’s M-PESA mobile number. The process is as simple as any other mobile number transfer within M-PESA’s ecosystem, making it accessible for Bitcoin services.
2. **Minimal Regulatory Barriers:**
- Sending money to a mobile number is a low-risk transaction from a regulatory standpoint. Bitcoin off-ramps are primarily concerned with converting crypto to fiat, and this transaction doesn’t require the extensive compliance checks needed for more complex services like Paybill or Buy Goods. The relatively simple nature of mobile number transfers allows these off-ramps to operate smoothly without running afoul of strict financial regulations.
3. **Broad Market Appeal:**
- Bitcoin off-ramp services are designed to offer users a quick and easy way to convert their Bitcoin into usable local currency. The ability to send money to a mobile number meets a widespread demand, particularly in countries like Kenya, where M-PESA is ubiquitous. This feature makes Bitcoin off-ramps practical and appealing to users who want to access their funds without delay.
### **Paybill and Buy Goods: The Complexities of M-PESA’s Advanced Services**
Unlike simple mobile number transfers, Paybill and Buy Goods transactions are more complex and require deeper integration into M-PESA’s system. These services are used by businesses to collect payments and by consumers to pay for goods and services. Each transaction involves more than just moving money; it requires precise account mapping, real-time processing, and stringent compliance with financial regulations.
**Why Bitcoin Off-Ramps Can’t Handle This:**
1. **Complex Integration Requirements:**
- **Paybill**: To use Paybill, a payment must be linked to a specific business account within M-PESA. For example, when you pay an electricity bill using Paybill, your payment isn’t just sent to the utility company; it’s mapped to your unique account with them. This mapping requires direct access to M-PESA’s backend systems, something that Bitcoin off-ramps lack. Without this access, it’s impossible for them to ensure that the payment is correctly attributed to the right account.
- **Buy Goods**: Buy Goods transactions are similarly complex. They involve paying a specific merchant via a till number, with the funds instantly credited to the merchant’s M-PESA account. These transactions need to be processed securely and in real-time, which requires a level of integration and trust that Bitcoin off-ramps simply don’t have. Safaricom maintains tight control over this process to ensure the security and reliability of each transaction, further limiting external access.
2. **Regulatory Compliance and Risk:**
- The regulatory environment surrounding Paybill and Buy Goods services is stringent. These transactions are subject to strict financial oversight to prevent money laundering, fraud, and other financial crimes. Bitcoin off-ramps, which operate in the less regulated world of cryptocurrency, are not equipped to meet these regulatory standards. The additional compliance requirements would be too burdensome for these services, making it impractical for them to offer Paybill or Buy Goods functionality.
3. **Safaricom’s Strategic Control:**
- Safaricom has a vested interest in keeping Paybill and Buy Goods services within its own ecosystem. By controlling access to these services, Safaricom ensures that businesses and consumers remain dependent on M-PESA for their financial transactions. This control allows Safaricom to maintain its dominant position in the Kenyan market. Bitcoin off-ramps, on the other hand, represent a potential threat to this dominance by offering an alternative way to move money. By restricting access to Paybill and Buy Goods, Safaricom can stifle competition and keep the lion’s share of the market.
### **The Hard Truth for Bitcoin Users in Kenya**
For Kenyan users who earn or hold Bitcoin, the inability to use Bitcoin off-ramps for Paybill or Buy Goods transactions is a significant limitation. While they can easily convert their Bitcoin to Kenyan Shillings and send it to an M-PESA mobile number, they cannot use those funds directly to pay bills or purchase goods through M-PESA’s advanced services. This forces users to either keep their funds within the M-PESA system or seek out other, potentially less convenient, methods of payment.
**The Bottom Line: A System Designed for Control**
The reason Bitcoin off-ramps can’t handle Paybill and Buy Goods transactions boils down to control. Safaricom’s tight grip on these services ensures that they remain an integral part of the M-PESA ecosystem, with all the regulatory, technical, and financial complexities that come with them. While Bitcoin off-ramps offer a valuable service by enabling users to convert and transfer their crypto to mobile numbers, they are blocked from fully participating in Kenya’s digital economy due to these entrenched barriers.
In the end, while Bitcoin off-ramps offer a glimpse of financial freedom, the reality is that in Kenya, the most critical transactions are still tightly controlled by Safaricom. For now, Paybill and Buy Goods remain the exclusive domain of M-PESA, keeping the gates of Kenya’s digital economy firmly closed to external challengers.
#bitbiashara
-
2024-08-19 08:12:39
-
2024-08-19 01:24:16
Hey there! So you’ve got a whopping 50+ Lightning Channels and you’re not keen on them Force Closing? Well, buckle up! This guide will be an additional resource as you navigate through daunting process.
In this post, we will go over some extra tips and tricks not covered in the official guide. While this guide does have some steps that are not covered by Umbrel, its main objective is to provide confidence in the process (not a replacement process), coming from someone who’s been there and done that, and some how came out with all Lightning Channels still running! **I highly recommend reading this post fully before starting the migration process.**
Before we dive in, [here](https://community.umbrel.com/t/how-to-update-from-umbrelos-0-5-to-umbrelos-1-1-on-linux-devices/16704#how-to-update-from-umbrelos-05-on-a-linux-device-3) is the Official Guide from the Umbrel team on how to update UmbrelOS from 0.5.4 to 1.x.x. Reference the steps all the time, and follow them carefully.
**With that out of the way. Here are some extra TIPs to fill in some gaps I encountered as I went through the process.**
## The Order of Steps
### Tip #1:
In the Official Umbrel Guide, the Umbrel team asks you to start by backing up your data. As a lightning Node Runner, I recommend against this. Because the Bash script will stop all Umbrel Services and your node will remain offline while you prepare a Bootable USB Stick. So definitely don't start with the backup, first get the bootable stick sorted out, then move on to backups.
## Creating the Bootable USB Stick
### TIP #2:
After many failed attempts to create a bootable USB stick from the link umbrel provides in their official guide. I ended up getting the ISO directly from Umbrels team through their Discord Channel. Unfortunately, I wont be able to share this link here. but just in case the umbrelOS-amd64-usb-installer.iso.xz didnt work for you as well, this could be an alternative route.
### TIP #3:
Since Umbrel is an actual full OS now. You might need to handle some BIOS quirks. The umbrelOS Kernal is not signed. So if you have Secure Boot turned on in the BIOS, your PC will try to protect you, and block you from booting into you USB Stick. Turn off Secure Boot and you should be able to bypass this issue. I also had to turn on Legacy Option ROMs as well.
![Enable Legacy Option ROMs](https://i2.wp.com/www.404techsupport.com/wp-content/uploads/2013/03/uefi-2.jpg)
### Tip #4:
Test your Bootable USB Stick on a secondary device before you go on trying to update your node. Since turning the node off and on is a hassle, its just easier to be certain the the Bootable Stick is ready before even attempting to upgrade your node.
**If all is good, you are ready to get back to the guide and walk through the steps.**
## Preparing the Hardware
### Tip #5:
In the official guide they as you to connect a Keyboard and Screen. This is of course needed. I would highly suggest you connect a mouse as well. My Bios was very stubborn and didn't comply with just a keyboard as I attempted to re-order Boot Sequences.
## The Migration Process
### Tip #6:
Remember, this is 10 times easier if you are not running a lightning node, but on a lightning node, the Channel.db file is being updated constantly. Once you start the backup process, the script will shutdown umbrel services and start copying. **you can''t turn your node back on after this stage. If you do, assume the backup you created through the Bash script is obsolete. and you will have to redo the backup process again.** If you really know what you are doing, you probably can surgically copy/paste the LND folder. But its easier not to do this.
But not to worry, if you start the process just keep going (especially if you checked all the TIPs I cover above). I say this out of experience, because after I started the first backup process, it took me about an hour to backup my SSD, but then the Bootable USB stick threw so many errors I gave up, and turned on the node again. Then later re-attempted the process from scratch. This time, since my external SSD was already full, it took 3.5 hours to backup all the files again.
### Tip #7:
This will take time, so just trust the migration process and wait for the files to get copied. you are probably copying more than a terabyte worth of data back and forth over USB, Leverage USB 3 if you have it.
### Tip #8:
If you have a custom name for your umbrel node. Meaning you do not access it by using umbrel.local, this will be reset to the default umbrel.local after the migration. I am not sure if this could be switched again to a custom name, but for now, this won't cause any issues.
### Tip #9:
During the last steps of the Migration process, and once Umbrel has copied the backup back into the SSD, it will finish the process with downloading your apps, and restarting. Don't freak out :D
### Tip #10:
I honestly don't have a tenth tip, but thought it would make this list look nicer with one. So my last tip for you is to relax and enjoy the process. And feel free to tag me if you faced any issues. Hopefully it will be something i experienced and will be able to help.
# Have Fun, and Good Luck!
-
2024-08-19 01:21:22
I was reflecting on Arnold Kling's description of the three main political tribes (Progressives, Conservatives, Libertarians) and how Bitcoin serves each of them. I'm going to give each group a charitable hearing, which means I'm talking about the good faith actors in each of these tribes. I have no illusions about there being bad faith power seeking sociopaths in each group.
Full disclosure: I have not read Kling's book The Three Languages of Politics, so this is only based on listening to him discuss these ideas with Russ Roberts on Econ Talk and perhaps hearing it come up in other conversations.
# Libertarians
In Kling's taxonomy, Libertarians frame issues around a liberty vs coercion distinction (can confirm). It's pretty easy to see the appeal of bitcoin to this group (and not just because it's the group I'm in).
The state and other criminals can't take your bitcoin from you without your consent and they can't stop you from transacting with it.
There's another element of bitcoin that appeals to Libertarians greatly. Using Bitcoin directly undermines the coercive state, reducing it's capacity to coerce innocent people.
# Progressives
Kling describes Progressives as framing things as oppressor vs oppressed. At first blush this sounds similar to Libertarians, but Progressives don't see violations of property rights as the dividing line. Progressives are concerned about the plight of the "little guy" and not only in cases of outright coercion.
What likely appeals to Progressives is that Bitcoin is open to all. Disenfranchised people, who may be blocked out of formal financial institutions, have just as much access to Bitcoin as everyone else.
That Bitcoin also allows ordinary people to preserve their savings without relying on and enriching corrupt bankers should be quite appealing.
# Conservatives
The Conservative framing is civilization vs barbarism, according to Kling. There's a lot to unpack there and I'm not going try to be comprehensive about it. One way to think about this distinction is that a civilization has formal institutional structures for dealing with disputes that are rooted in their societies traditions, rather than resorting to unseemly ad hoc solutions (again, there's a lot to unpack here).
I found conservatives the most difficult to think about. Those of you who are familiar with The Righteous Mind will likely be able to guess why.
Where I think the main appeal is for conservatives is that the state, in general, and fiat, in particular, undermine many of the traditional institutions of society. Bitcoin undermines their ability to undermine the organic institutions of civil society. There's a whole treatise to be written on this topic, but suffice to say conservatives believe that the state undermines and crowds out churches, fraternal societies, charities, the family, and cultural tradition, while the high time preference induced by fiat leads to all manner of antisocial behaviors like drug abuse, casual sex, and gambling.
# Wrapping up
Let me know what you think about this. Did I miss something obvious? Did I mischaracterize anything/anyone?
Only hold as much fiat as you're willing to lose.
originally posted at https://stacker.news/items/653982
-
2024-08-18 23:09:48
# test
teslgnslknsdlgnvlsdkvgnleihvlwevnlwkvlwekvnldskvnld
dsvmdslvdslvndsklvndslkvnsd
-
2024-08-18 23:06:24
```js
import React, { useEffect, useState } from 'react';
import dynamic from 'next/dynamic';
import { Button } from 'primereact/button';
import { Dialog } from 'primereact/dialog';
import { initializeBitcoinConnect } from './BitcoinConnect';
import { LightningAddress } from '@getalby/lightning-tools';
import { useToast } from '@/hooks/useToast';
import { useSession } from 'next-auth/react';
import axios from 'axios';
const Payment = dynamic(
() => import('@getalby/bitcoin-connect-react').then((mod) => mod.Payment),
{ ssr: false }
);
const ResourcePaymentButton = ({ lnAddress, amount, onSuccess, onError, resourceId }) => {
const [invoice, setInvoice] = useState(null);
const [userId, setUserId] = useState(null);
const { showToast } = useToast();
const { data: session } = useSession();
const [dialogVisible, setDialogVisible] = useState(false);
useEffect(() => {
if (session?.user) {
setUserId(session.user.id);
}
}, [session]);
useEffect(() => {
initializeBitcoinConnect();
}, []);
useEffect(() => {
const fetchInvoice = async () => {
try {
const ln = new LightningAddress(lnAddress);
await ln.fetch();
const invoice = await ln.requestInvoice({ satoshi: amount });
setInvoice(invoice);
} catch (error) {
console.error('Error fetching invoice:', error);
showToast('error', 'Invoice Error', 'Failed to fetch the invoice.');
if (onError) onError(error);
}
};
fetchInvoice();
}, [lnAddress, amount, onError, showToast]);
const handlePaymentSuccess = async (response) => {
try {
const purchaseData = {
userId: userId,
resourceId: resourceId,
amountPaid: parseInt(amount, 10)
};
const result = await axios.post('/api/purchase/resource', purchaseData);
if (result.status === 200) {
showToast('success', 'Payment Successful', `Paid ${amount} sats and updated user purchases`);
if (onSuccess) onSuccess(response);
} else {
throw new Error('Failed to update user purchases');
}
} catch (error) {
console.error('Error updating user purchases:', error);
showToast('error', 'Purchase Update Failed', 'Payment was successful, but failed to update user purchases.');
if (onError) onError(error);
}
setDialogVisible(false);
};
return (
<>
<Button
label={`${amount} sats`}
icon="pi pi-wallet"
onClick={() => setDialogVisible(true)}
disabled={!invoice}
severity='primary'
rounded
className="text-[#f8f8ff] text-sm"
/>
<Dialog
visible={dialogVisible}
onHide={() => setDialogVisible(false)}
header="Make Payment"
style={{ width: '50vw' }}
>
{invoice ? (
<Payment
invoice={invoice.paymentRequest}
onPaid={handlePaymentSuccess}
paymentMethods='all'
title={`Pay ${amount} sats`}
/>
) : (
<p>Loading payment details...</p>
)}
</Dialog>
</>
);
};
export default ResourcePaymentButton;
```
-
2024-08-18 23:02:09
```js
import React, { useEffect, useState, useCallback, useRef } from 'react';
import { useRouter } from 'next/router';
import { useImageProxy } from '@/hooks/useImageProxy';
import { Tag } from 'primereact/tag';
import { Button } from 'primereact/button';
import Image from 'next/image';
import dynamic from 'next/dynamic';
import axios from 'axios';
import { nip04, nip19 } from 'nostr-tools';
import { v4 as uuidv4 } from 'uuid';
import { useSession } from 'next-auth/react';
import { useNDKContext } from "@/context/NDKContext";
import { NDKEvent } from "@nostr-dev-kit/ndk";
import { findKind0Fields } from '@/utils/nostr';
import { useToast } from '@/hooks/useToast';
import 'primeicons/primeicons.css';
const MDDisplay = dynamic(() => import("@uiw/react-markdown-preview"), { ssr: false });
// ... keep the validateEvent function as is ...
export default function DraftCourseDetails({ processedEvent, draftId, lessons }) {
// ... keep state declarations and hooks as is ...
const fetchAuthor = useCallback(async (pubkey) => {
if (!pubkey) return;
const author = await ndk.getUser({ pubkey });
const profile = await author.fetchProfile();
const fields = await findKind0Fields(profile);
if (fields) setAuthor(fields);
}, [ndk]);
useEffect(() => {
if (processedEvent) fetchAuthor(processedEvent?.user?.pubkey);
}, [fetchAuthor, processedEvent]);
useEffect(() => {
if (session) setUser(session.user);
}, [session]);
const handleDelete = async () => {
try {
await axios.delete(`/api/courses/drafts/${processedEvent.id}`);
showToast('success', 'Success', 'Draft Course deleted successfully');
router.push('/');
} catch (error) {
showToast('error', 'Error', 'Failed to delete draft course');
}
};
const handlePostResource = async (resource) => {
// ... keep this function as is ...
};
const createCourseEvent = (courseId, title, summary, coverImage, lessons, price) => {
const event = new NDKEvent(ndk);
event.kind = 30004;
event.content = "";
event.tags = [
['d', courseId],
['name', title],
['picture', coverImage],
['image', coverImage],
['description', summary],
['l', "Education"],
['price', price.toString()],
...lessons.map((lesson) => ['a', `${lesson.kind}:${lesson.pubkey}:${lesson.d}`]),
];
return event;
};
const handleSubmit = async (e) => {
e.preventDefault();
const newCourseId = uuidv4();
try {
if (!ndk.signer) await addSigner();
// Process lessons
await Promise.all(processedLessons.map(async (lesson) => {
const unpublished = lesson?.unpublished;
if (unpublished && Object.keys(unpublished).length > 0) {
const validationResult = validateEvent(unpublished);
if (validationResult !== true) {
throw new Error(`Invalid event: ${validationResult}`);
}
const published = await unpublished.publish();
const saved = await handlePostResource(unpublished);
if (published && saved) {
await axios.delete(`/api/drafts/${lesson?.d}`);
}
}
}));
// Create and publish course
const courseEvent = createCourseEvent(newCourseId, processedEvent.title, processedEvent.summary, processedEvent.image, processedLessons, processedEvent.price);
const published = await courseEvent.publish();
if (!published) {
throw new Error('Failed to publish course');
}
// Save course to db
await axios.post('/api/courses', {
id: newCourseId,
resources: {
connect: processedLessons.map(lesson => ({ id: lesson?.d }))
},
noteId: courseEvent.id,
user: {
connect: { id: user.id }
},
price: processedEvent?.price || 0
});
// Update resources with course id
await Promise.all(processedLessons.map(lesson =>
axios.put(`/api/resources/${lesson?.d}`, { courseId: newCourseId })
));
// Delete draft
await axios.delete(`/api/courses/drafts/${processedEvent.id}`);
showToast('success', 'Success', 'Course created successfully');
router.push(`/course/${courseEvent.id}`);
} catch (error) {
console.error('Error creating course:', error);
showToast('error', 'Error', error.message || 'Failed to create course. Please try again.');
}
};
useEffect(() => {
const buildEvent = async (draft) => {
// ... keep this function as is ...
};
const buildDraftEvent = async (lesson) => {
const { unsignedEvent } = await buildEvent(lesson);
return unsignedEvent;
};
const processLessons = async () => {
if (!hasRunEffect.current && lessons.length > 0 && user && author) {
hasRunEffect.current = true;
const processedLessons = await Promise.all(lessons.map(async (lesson) => {
const isDraft = !lesson?.pubkey;
if (isDraft) {
const unsignedEvent = await buildDraftEvent(lesson);
return {
d: lesson?.id,
kind: lesson?.price ? 30402 : 30023,
pubkey: unsignedEvent.pubkey,
unpublished: unsignedEvent
};
} else {
return {
d: lesson?.d,
kind: lesson?.price ? 30402 : 30023,
pubkey: lesson.pubkey
};
}
}));
setProcessedLessons(processedLessons);
}
};
processLessons();
}, [lessons, user, author, ndk]);
// ... keep the return statement (JSX) as is ...
}
```
-
2024-08-18 22:46:53
```json
{"id":"7bcd1b31-7312-4ac7-bd98-26135ae3532c","userId":"cc89e769-1cf7-4c9f-9558-cacc07ec9233","price":0,"noteId":"naddr1qvzqqqr4gupzpr9kpcs4v7y8nndqhm6dtvlurfw9jfwj4k6a33860d7s8d0jm6h2qqjrwcnrvsckyve395mnxvfj956xzceh943xgwfc95ervvfnx4sk2ve4xvexxpvjj4y","courseId":"a02d8514-2f56-4ab9-9f1a-16fba4d07614"}
```
-
2024-08-18 22:40:34
aslkjfaslkf
'aslfkaslfkas
# sd;lfsd;
# wlf
-
2024-08-18 22:25:11
# laskhfldf aslfk
## aslkfaldkflda
aslfkadlkfda
- ASdjasdkaskd
- as.dkaslkds
- mdfdf
- jvldkdsv
-
2024-08-18 22:20:04
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><iframe src="https://www.youtube.com/embed/CZ4Md2kUpaA" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen></iframe></div>
-
2024-08-18 21:31:21
Having recovered from my 27-hour trip to a remote area of Argentina at the foot of the Andes, I figured I’d bust out my round by round draft targets.
For point of reference (as to my location), here’s a shot of the snow-capped mountains outside my window (it’s winter here in the Southern Hemisphere):
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/6bae33c8bc26a5c573912af4b96b6ef690258ea3735ba90ca05d9b7a607272e8/files/1724016533629-YAKIHONNES3.jpg)
Keep in mind this is all subject to context and I’d absolutely hold my nose and draft someone off this list if it were a player of need, or he fell below ADP. (Also, I’ll probably change my mind on a few of these guys.)
For point of reference, here’s the NFFC ADP for the RotoWire Online Championship over last three days:
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/6bae33c8bc26a5c573912af4b96b6ef690258ea3735ba90ca05d9b7a607272e8/files/1724016548959-YAKIHONNES3.png)
**Round 1**: Obviously, it depends where you pick, but there are only two players I’m avoiding, and one is McCaffrey (of whom I already have a share), but I don’t like the calf injury, however minor they say it is. Sure, if he drops to nine or whatever I would gamble, but he won’t. The other is Marvin Harrison sight unseen. I’d gamble on Gibbs (also has an injury, but he’s much younger than McCaffrey) or Puka Nacua (also with a knee issue) ahead of him.
Bottom line, I’m fine with any of these guys and not really targeting anyone per se. I know that sounds a little odd, but I just don’t have that much of a preference between them.
**Round 2**: I mentioned Gibbs and Nacua, I’m fine with Harrison if he slips to pick 15 or so, and I like De’Von Achane, Travis Etienne and Jaylen Waddle at the second half of the round. I’m out on Davante Adams (age, team context), Olave (nothing special) and probably Kyren Williams (too small for his role.) I could be talked into Cooper Kupp, though I liked him better when he was going in Round 3.
**Round 3**: DJ Moore and DeVonta Smith seem just as good as the second round receivers to me, Isiah Pacheco is the best of the remaining running back options by far, and Stefon Diggs is the WR1 in Houston in my opinion. As a Giants fan, I love Malik Nabers, but he’s got a lot more risk than those other three in this round.
**Round 4**: I’d take Sam LaPorta who is locked into a great role in a good passing offense and could even improve in Year 2. Rashee Rice might go at the 2/3 turn if he weren’t in legal trouble, and there’s a chance nothing comes of it this year. Amari Cooper is rock solid every year, Josh Jacobs has overall RB1 upside despite last year’s abysmal showing. I’d also take Tee Higgins late in the round — he was a 2/3 turn guy the last couple years, and he’s still the same player.
**Round 5**: I hate this round. I’d take either Trey McBride or Dalton Kincaid (Kincaid first as he could be Josh Allen’s top guy). Otherwise I might reach into round six to take some guys.
**Round 6**: Jayden Reed was good as a rookie, and Year 2 is when receivers make the leap. I know it’s crowded in Green Bay, but if he’s the real deal, the other guys will settle into lesser roles. Rhamondre Stevenson is a good back on a bad team, but he’ll be the workhorse, and the offense can hardly be worse than last year’s. James Conner and Aaron Jones are old, but they were still good last year. CJ Stroud is my bet to lead the league in passing yards, but I’d probably rather just flat gamble on Anthony Richardson who goes early Round 7.
**Round 7**: Richardson could easily be QB1, and there’s so much depth at the position, he’s worth the gamble. Jaxon Smith-Njigba is a Year 2 WR who could take the leap. Ladd McConkey seems like the obvious go-to slot guy for the Chargers and Javonte Williams should be himself again, two years removed from the ACL tear.
**Round 8**: Jake Ferguson is Dak Prescott’s de facto No. 2, seems like a bargain here. Brian Thomas is in the right place as the Jaguars lack both depth at WR and also a true No. 1, Kyler Murray has QB1 upside now that he’s two years removed from injury and has Harrison, McBride and even Michael Wilson.
**Round 9**: Brian Robinson is the early down workhorse, and Austin Ekeler (even if he’s not washed) is probably third-down only. And Robinson will catch some passes too. I like Brock Bowers’ upside even though it’s kind of crowded in Vegas. (I’d take David Njoku this round too.) Devin Singletary should get sufficient work in an impoved offense, and Zack Moss isn’t bad and could be more or less what Joe Mixon was last year if Chase Brown turns out to be just a guy.
**Round 10**: Who knows with Nick Chubb, but he’s worth a gamble here. I like Blake Corum because Kyren Williams is light for the rigors of the role, and RB1 for Sean McVay is an ideal spot. I’d also settle for Rico Dowdle as he might not be good, but Zeke Elliott is way past his prime.
**Round 11**: Jaylen Wright doesn’t need much to get a shot — Raheem Mostert is 32, and Achane is undersized. I keep drafting Rashid Shaheed who is the same size as Chris Olave and makes plays down the field whenever they give his a shot.
**Round 12+**: This is just a late-round sleeper list:
**Josh Downs** — has a high ankle sprain, but showed enough as a rookie to take a leap.
**Michael Wilson** — He showed something as a rookie and is locked in as a starter opposite Harrison.
**Bucky Irving **— Rachaad White is just a guy, so Irving could get a shot if he struggles.
**
Tyrone Tracy** — Singletary is a pro, but he’s ordinary, and Tracy can catch as he’s a converted receiver.
**Kimani Vidal **— Built like a mini tank and with little durable competition ahead of him.
**Khalil Herbert** — He’s a good running back, even caught 20 passes last year in limited work, and D’Andre Swift probably won’t hold up.
**Rashod Bateman** — He should be involved if he can ever stay healthy.
**Jordan Mason** — McCaffrey’s only reasonably reliable backup. Elijah Mitchell is way too injury prone.
**
Wan’Dale Robinson** — Probably the No. 2 target on the Giants after Nabers.
**Matthew Stafford** — He has two receivers going in the second round, and McVay’s offense has 35-TD upside for its QB.
**Jonnu Smith** — The Dolphins really don’t have a No. 3 WR, and Smith has shown he can make plays in the passing game.
**Roman Wilson** — Van Jefferson isn’t good, and I’m not sold on George Pickens as a No. 1, either. Wilson could be the slot guy and even lead the team in catches.
**
Justin Fields** — Russell Wilson is on his last legs, and should Fields get the job, he’d be a top-10 fantasy QB out of the gate.
**
Daniel Jones** — He was actually good in 2022, won a playoff game and now gets a king-making receiver in Nabers, a healthy Robinson, Year 2 of deep threat Jalin Hyatt and more familiarity with Brian Daboll’s offense. Plus he’ll get plenty of points on the ground.
-
2024-08-18 21:01:07
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><iframe src="https://www.youtube.com/embed/VsgPZsjIbAU" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen></iframe></div>
-
2024-08-18 20:57:03
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><iframe src="https://www.youtube.com/embed/VsgPZsjIbAU" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen></iframe></div>
-
2024-08-18 20:50:48
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><iframe src="https://www.youtube.com/embed/JdmnL6QnsRs" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen></iframe></div>
-
2024-08-18 20:46:51
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><iframe src="https://www.youtube.com/embed/k4ctD_vk2Ew" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen></iframe></div>
-
2024-08-18 20:46:46
```js
import { getCourseById, updateCourse, deleteCourse } from "@/db/models/courseModels";
export default async function handler(req, res) {
const { slug } = req.query;
if (req.method === 'GET') {
try {
const course = await getCourseById(slug);
if (course) {
res.status(200).json(course);
} else {
res.status(404).json({ error: 'Course not found' });
}
} catch (error) {
res.status(500).json({ error: error.message });
}
} else if (req.method === 'PUT') {
try {
const course = await updateCourse(slug, req.body);
res.status(200).json(course);
} catch (error) {
res.status(400).json({ error: error.message });
}
} else if (req.method === 'DELETE') {
try {
await deleteCourse(slug);
res.status(204).end();
} catch (error) {
res.status(500).json({ error: error.message });
}
} else {
// Handle any other HTTP method
res.setHeader('Allow', ['GET', 'PUT', 'DELETE']);
res.status(405).end(`Method ${req.method} Not Allowed`);
}
}
```
-
2024-08-18 20:42:25
```js
import { getCourseById, updateCourse, deleteCourse } from "@/db/models/courseModels";
export default async function handler(req, res) {
const { slug } = req.query;
if (req.method === 'GET') {
try {
const course = await getCourseById(slug);
if (course) {
res.status(200).json(course);
} else {
res.status(404).json({ error: 'Course not found' });
}
} catch (error) {
res.status(500).json({ error: error.message });
}
} else if (req.method === 'PUT') {
try {
const course = await updateCourse(slug, req.body);
res.status(200).json(course);
} catch (error) {
res.status(400).json({ error: error.message });
}
} else if (req.method === 'DELETE') {
try {
await deleteCourse(slug);
res.status(204).end();
} catch (error) {
res.status(500).json({ error: error.message });
}
} else {
// Handle any other HTTP method
res.setHeader('Allow', ['GET', 'PUT', 'DELETE']);
res.status(405).end(`Method ${req.method} Not Allowed`);
}
}
```
-
2024-08-18 19:04:49
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><iframe src="https://www.youtube.com/embed/1CC88QGQiEA&t=5239s" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen></iframe></div>
-
2024-08-18 19:04:33
```js
import { createCourseDraft } from '@/db/models/courseDraftModels';
export default async function handler(req, res) {
if (req.method === 'POST') {
try {
const { userId, title, summary, image, price, topics, resources, drafts } = req.body;
const courseDraft = await createCourseDraft({
userId,
title,
summary,
image,
price,
topics,
resources: {
connect: resources.map(id => ({ id }))
},
drafts: {
connect: drafts.map(id => ({ id }))
}
});
res.status(201).json(courseDraft);
} catch (error) {
res.status(500).json({ error: 'Failed to create course draft' });
}
} else {
res.setHeader('Allow', ['POST']);
res.status(405).end(`Method ${req.method} Not Allowed`);
}
}
```
-
2024-08-18 16:49:15
I do a lot of Sudoku. They’re logic puzzles, using the numbers one through nine in a nine-by-nine grid. The goal is to use all nine numbers once and only once in every nine-field row, column and box. If you find yourself with two sixes in the same row, for example, you’ve blown it.
It’s pure deductive reasoning, no probability, no induction (if it happened this way in nine of the last 10 puzzles, it’s probably the case here!), no guessing. You do not want to fill in a number unless you are absolutely sure it’s the only place it could go. As in bet-your-life-on-it sure. If there’s more than one place for it, you do not guess. It’s like Highlander: “There can only be one!”
I find it relaxing — there is no ambiguity, no argument. You either know for sure and know why you know, or you don’t know.
What a contrast to the information environment the last few years, where there are so many people, wittingly or not, feigning certainty while espousing bullshit. Compromised fact-checkers relying on captured science and medicine, misleading the demoralized and credulous, desperate for a narrative to hold off the tidal wave of fear and doubt. A giant chorus of the obedient protecting themselves from dangerous dissent with their various incantations: “Conspiracy Theory!’ “You Are Not An Epidemiologist!” “Trust the Science!”
But if the 6 can’t be here and here, and the 5 must be there, then there’s nowhere else for the 7 except there. And once we know the 7 is there, the 7 in the bottom left box must be there. That means the 8 is in the lower row, so we can eliminate the eights from the upper and middle rows of that box…
Even when you can’t immediately solve a Sudoku, when the lightning bolt of insight that opens up the whole puzzle hasn’t yet struck, at least you know for sure what you don’t know. No matter how difficult the puzzle, there is such simplicity, order and peace in the realm of pure deductive logic.
. . .
The harder puzzles require you to make assumptions. That is, you might have a box with two possible candidates, and you assume one is correct conditionally and go through the implications of it.
For example, if a box can contain only a 1 or a 3, you might assume it’s a 1, see what happens to the boxes around it, and then alternatively assume it’s a 3, and see the effects of that. If some other box has three candidates, say 3, 4 and 7, and the 1-assumption, makes it a 3, and the 3 makes it a 7, you can be sure it’s not a 4.
Eliminating the 4 doesn’t tell you what the answer is, either for it or the initial box, but it narrows down the possibilities and enables you to play out further conditional scenarios more easily. In other words, by running scenarios for both, “if x is true” and “if x is false” you can find out that “z must be false” even though you still don’t know the truth with respect to x.
It’s important though not to treat your conditional findings as true. In the example above, assuming a 1 in the first box yielded a 3 in the second. If you fill in the 3, though, you just making a 50/50 gamble that might screw up the entire puzzle.
That sounds obvious, but that’s only because my example contains two boxes. Imagine you’re five or six boxes down the cascading chain, making assumptions (and then assumptions within assumptions — like the dreams within dreams of Inception — and you can see how easily you could get it confused.
There is a big difference between “this is the case if x is true”, and “this is case, period.” But sometimes when you’re deep down the assumption rabbit hole, you forget that the entire edifice is based on a conditional. That’s how you wind up with two 6s in the same box and realize the entire 40 minutes you’ve spent wrestling with this puzzle were wasted. You thought you were making breakthroughs, but it turns out you were living a lie the entire time!
. . .
The real world is infinitely more complex than even the hardest Sudoku. It requires us to make conditional assumptions within conditional assumptions all the time. Assuming, the data from this study in the Lancet is correct, assuming that its design is not flawed, assuming it hasn’t been influenced by its funding sources, assuming the subjects in the study don’t differ in some material respect from me (lifestyle, genetics, etc.), you should consider it’s findings.
But if you forget the assumptions involved and simply fill in the box based on the conclusions therein, you run the risk of making a serious error. Many people adopted low-fat, high sugar diets to defeat cholesterol, got on statins, avoided the sun, became vegan for health. It’s pretty obvious where I stand on those practices, but irrespective of whether they’re in fact beneficial, the decision to adopt them is based on many (dubious) assumptions being true.
. . .
The beauty of Sudoku is not only do you know — or find out soon at minimal cost — what you don’t know, but also your assumptions (at least initially) are explicit. You say to yourself, “assume this is a 1, and let’s see what it does, and assume it’s instead a 3, and let’s see what that does.” You are therefore capable of untangling the results of your conditional experiments and drawing sound conclusions from them.
Often when I talk with people about health, civil liberties, medicine or other matters of import, the conversation gets derailed due to conflicting assumptions. Can we examine a question and in so doing untangle the conditional beliefs informing it? Can we agree that what one is saying is only true if one buys into particular premises, and that those premises themselves cannot be taken as a given, but also should be examined?
If you support giving endless weapons to Ukraine no matter the cost, is that because you believe it is an innocent being attacked without provocation by the evil Vladimir Putin? Is that assumption beyond scrutiny? It doesn’t matter where you come out on that question so much as recognizing you are filling in a box based on that assumption, and should that assumption be false, your entire policy prescription is bankrupted.
Let’s say you do believe Putin invaded Ukraine because he is evil and will move onto the rest if Europe next, i.e., he’s basically Hitler. Why do you believe that? Do you have first-hand knowledge of him, or is it something you read in the New York Times? If the latter, then your belief about Putin being true depends on the Times being reliable with respect to geopolitics.
If you follow this sort of reasoning to its logical conclusion, you end up looking for first principles. What can I trust? How can I be sure to fill in the boxes accurately so as not to find out later I was living a lie?
It’s difficult in the real world to find certainty. Even René Descartes, who settled on “I think, therefore I am” didn’t get far*. The best we can do, in my opinion, is via the scientific method, offering a hypothesis that purports to fit the facts, and scrapping it as new facts and better-fitting (more explanatory) hypotheses come along.
The allegory of a perfectly deductive realm like Sudoku then isn’t in completing the puzzle. It’s in not filling in the boxes inappropriately. Forget about believing what’s true, but take great pains to avoid the lie.
###### *And at best Descartes found an Oscillating Truth, if you think, then you must exist, but you could be deluded, so maybe not, but if you can be deluded then you must exist, but you could be deluded about that, so maybe not, but if you can be deluded about that, then you exist… ad infinitum.
-
2024-08-18 15:08:04
**From The Precipice Lectures Archive**
**DAY 17, IN THIS DIMENSION, OF FLASH AUGUST FICTION**. I woke up giggling yesterday morning. That's pretty much all I have to say about this one, except here is some background info on the 4th dimension from an earlier episode: [How's the Fourth Dimension?](https://commercialherschel.substack.com/p/how-is-the-4th-dimension)
_
**I am on the web3 apps. The podcast is called “Smell the Inside of Your Nose. Do it Right Now”.**
_
Here's the [Substack](https://commercialherschel.substack.com/p/the-absence-of-pathology-in-the-4th-dimension-precipice-lectures-archive) podcast. Here is [Spotify.](https://open.spotify.com/episode/76BkkMnTmZNBsZdCSByReP) [RSS here](https://api.substack.com/feed/podcast/307195/s/86023/private/4dbfe37e-35df-4448-a9aa-e135e3844723.rss). I think listening is better, that's just me.
_
_
Dr. Freebius Lipsmaciladapus: The Absence of Pathology in the 4th Dimension
-
**From The Precipice Lectures Archive**
*1019 WORDS WRITTEN IN ABOUT 45 MINUTES*
_
[ Clears throat ] Gentlemen,
To discuss the 4th dimension, we must discuss some of the laws that govern the 3rd-dimensional existence we are currently experiencing.
It is not necessary to understand how electricity works in order to use it. When one walks into a room, one uses a light switch, and the light fills the room. This is functional knowledge. We need not comprehend the details and intricacies of electronics in order to use electronics. In our experience in these three dimensions, there are many activities that are possible. It is possible to do unnecessary and even undesirable things. It is not wise or necessary to do a thing, simply because it is possible. Doing such things, however, does not alter or disrupt the nature of this three-dimensional realm.
![](https://m.stacker.news/46627)
The use of devastating weapons, for instance, is utilized by those with devious and avaricious intent and who do not possess the capacity for the creation and exchange of values. This is possible and, in fact, common in our plane of existence in this realm. There is no law of nature or physics in this dimension that prevents this.
These activities are not possible in the 4th dimension, to which some will become a part. There are laws of nature and physics in the fourth dimension that prevent such puerility. Actors will be bound to this dimensional realm that we are experiencing until better thinking and practices happen as a matter of course along their lifetimes.
First, we must describe how the fourth dimension is structured and what material it comprises. Our imaginations are the best example for describing the material; the matter that the fourth dimension comprises.
It does not function in the same way that our imaginations do, but it is comprised of the same matter. That is not to say that the fourth dimension allows you to create ex-nihilo. That is to say one cannot simply create something from nothing in the fourth dimension, as we can in our imaginations.
In this three-dimensional existence, we watch skilled magicians create flowers out of thin air and pull rabbits out of hats. These are illusions. To actually do that is not possible in the fourth dimension. However, existing matter can easily be manipulated physically using only one's hands and bodies. For instance, one might have a bowl of soup but no spoon, only a butter knife. In the 4th dimension, one can shape the knife easily with one's fingers to fashion a spoon for eating the soup.
Suppose there is a large basket on the dinner table, but only two tomatoes are in the basket, and the basket is taking up too much room on the table. One simply takes the basket and, using one's hands, and understanding the lattice of the basket, simply compresses the basket with one's hands. One can reshape the basket so that it fits the two tomatoes. Now there is more room on the table. This sort of thing is common practice in the fourth dimension. These are elementary examples.
You have a small box, but you need a large box for a large item. One simply changes the size of the box for your large item, and so on. One cannot pull things out of thin air, as you can with your imagination, but you can manipulate already existing material physically in a way that is not physically possible in our current realm.
There are certain conceptions about value and function that are simply a part of a person's nature there. The very nature of the fourth dimension is integrated with all the natures associated in it. Therefore, pathology cannot be part of that dimension. Pathological people and such behaviors would be prohibitive to the very matter that existence is comprised of in the fourth dimension, and it is necessary for the fourth dimension to exist. All dimensions must exist. They coincide, and are related.
If pathologies that are possible in the current dimension that we are experiencing in this moment were to breach the fourth dimension, it would be a prohibitive disruption effecting all of existence in all dimensions. The sort of piracy and mendaciousness that can exist in this dimension simply cannot, by nature and the laws of physics, be a part of the fourth dimension. There are no violations of laws in physics, in any dimension.
One might consider the reports of military personnel, where crafts appear above nuclear silos. These may be concerned beings from other dimensions, understanding how such operations could affect them in their dimension. They perhaps feel a need to intervene in this dimension in order to preserve their own.
Why? Some ask. Why is it not possible for such mendacity to exist in the fourth dimension? Is it perfect there? Of course, it is not perfect; it is more advanced, so to speak, but not perfect. There are imperfect events and, of course, imperfect people who make mistakes and take liberties that are possible, though perhaps not wise. To understand the reason, it's an imperative to remember that the material; the very matter of the 4th dimension consists of the same matter that our imaginations are comprised of.
Here is the illustration to use. You may think of the imaginations of individuals as fields of energy, or waves, or particles. It should be easy then to understand how affecting the fields, or waves; or particles of the fourth dimension as a whole, in the behaviors that we have become accustomed to in this dimension, would be disruptive and, in fact, destructive to existence itself.
For this simple reason, those who rule the three-dimensional realm that we experience simply could not be a part of the fourth dimension. Again, only those who would by their matter of course master the practice of value creation and production be a part of that dimension. While there are blunders and varying degrees of judgement there, no pathological behavior is possible, as it is antithetical to the very existence of the matter; the field; the waves; the particles of which the fourth dimension is comprised. These are simply the natural and physical laws of the fourth dimension.
The End
That was a wild dream, and that’s what I got out of it. I was glad I was able to get a story out of it. Here is another link to a different episode where I get into coinciding planes and why other beings can’t always interact with us. It is called [Alien Avoidance On Our Coinciding Plane](https://commercialherschel.substack.com/p/alien-avoidance-on-our-coinciding). I hope you might get a paid subscription, or [buy me a coffee](https://buymeacoffee.com/smellcast), or [donate some bitcoin](https://commercialherschel.substack.com/p/donate-with-blockchain-currency).
I wish you the best in these messed up times. My target audience are the people doing the very difficult and risky anti-corporate, anti-war, independent, honest journalism. I want to be a brief respite from the craziness for them. If you know any of them and want to point out my 10-20 minute, daily storytelling podcast, that would be the best. I’m Herschel Sterling, and I’m here to help.
![](https://m.stacker.news/46630)
originally posted at https://stacker.news/items/653477
-
2024-08-18 14:41:44
_
**[LISTEN HERE](https://commercialherschel.substack.com/p/purge-the-gargoyles-architecture-intent-angels)** (The podcasts are more complete and nuanced, imo)
DAY 13 OF FLASH AUGUST FICTION. Not a lot to say about this one. A skill I have is building. I was a bricklayer and a stonemason, and I know fire tech. What that means is that I can build fireplaces, masonry heaters, flue systems, and chimneys. I think a lot about how the buildings around us affect us. I hate gargoyles. I love angels. I’m Commercial Herschel, and I’m here to help.
Purge the Gargoyles
-
**The People Agreed**
*614 WORDS WRITTEN IN A HALF HOUR*
Mayor Jackson won the election in surprising fashion. No one expected her to win. She had no real money, she didn't have any high-profile support, and the other two candidates were as shocked as she was that she won. Her campaign was simple. “Our City for Us”.
The dominant Party was on the outs with the people. They usually controlled the big cities, and the people finally stopped falling for them. They had lost favor, and there was no politics, or even violence, that would bring the people back to them. The other Party was more of a rural and suburban party, but the idea that they could get this city was like a conquest. They courted Mrs. Jackson, but they could not win her. They offered her money, and all sorts of corporations made all sorts of promises, but he just wanted her city to be for her people.
Her campaign was so unfamiliar. All of these corporations were making all of these promises to her. Her response was, “We'll see.” She didn't present herself as a candidate with all sorts of business and influence as leverage behind her. Instead, she presented herself as someone with the support of the people as the leverage behind her, so she could get the best deal for the people that she could. Her attitude toward the corporations was, “Look, do you see all these people I have behind me? If you want their business, I'm here to be sure you make a really good deal for my people.”
Once she took office, there were so many questions. The media and her critics were all over her, looking for answers to all the tough policy questions. She knew these were pressing concerns, but she wanted to truly ground herself. She had to establish some things in some kind of permanent way.
Her first press conference after the election was the time that she could establish her intent.
“Ma'am, no one expected you to win this election. What was the first thought you had when you saw the results?” One of the media people asked.
“My first thought was that the establishment didn't expect that they would have to cheat on me, so they didn't try very hard.”
Another reporter shouts out the next question. “Mrs. Jackson, what's the first thing you want to do with your new position?”
“Well, the Library really bothers me,” she says.
People are perplexed, it doesn't make sense. What could be the problem with a library?
“You don't like libraries, ma'am?” One of the reporters asks.
“Of course, I like libraries. Who does not like libraries? What I don't understand is why the library has gargoyles all over the roof-line. I want to replace those demonic gargoyles with angels.”
![](https://m.stacker.news/45903)
DAY 13 OF FLASH AUGUST FICTION
There are a lot of raised eyebrows among the press crew, it's not what they were expecting.
“I'm not going to use the city budget to do this,” the new mayor says. “I'm going to ask people to make donations at the library.”
Within a matter of days, the library had enough donations to replace the gargoyles with angels. There was a contest for some different angel designs. Some weird, wealthy people offered money for the old gargoyles, but the mayor crushed them into dust and dumped them into the nearby lake.
People felt better, something was right about this. It set the new administration on a good path, and the mayor was able to cut a lot of good deals that benefited the people of the city. She won several elections and served for three terms until she retired at an age that would allow her to enjoy her grandchildren.
The End.
I hope you might get a paid subscription, or [buy me a coffee](https://buymeacoffee.com/smellcast), or [donate some bitcoin](https://commercialherschel.substack.com/p/donate-with-blockchain-currency). I wish you the best. I’m Commercial Herschel, and I’m here to help.
![](https://m.stacker.news/45904)
originally posted at https://stacker.news/items/653465
-
2024-08-18 14:17:04
The huge share of ultra-processed foods, especially in the United States, is due to the fact that the food industry is in the hands of several global corporations. They have literally occupied all the supermarkets with their products.
[Full story](https://forex-strategy.com/2024/08/18/how-people-passing-through-the-supermarket-go-to-hospitals-our-ultra-processed-food/)
-
2024-08-18 10:05:33
Let's hear some of your latest Bitcoin purchases, feel free to include links to the shops or merchants you bought from too.
If you missed our last thread, [here](https://stacker.news/items/559833/r/AG) are some of the items stackers recently spent their sats on.
originally posted at https://stacker.news/items/653241
-
2024-08-18 06:57:22
The challenges associated with physical work and delayed payments, as discussed in the construction and logistics industries articles, might not be as directly applicable to industries with less physical movement. However, the principles of instant settlement and the removal of intermediaries can still bring efficiency and innovation to various sectors. The advantages of instant settlement, such as reduced transaction fees, faster payment processing, and increased transparency, can positively impact industries beyond the physical realm. Whether it's in the realm of digital services, intellectual property, or other sectors that are already dematerialized, the application of instant settlement principles can streamline transactions and enhance overall efficiency.
### Navigating The Written Odyssey
Entering the realm of book publishing, especially for a debut author, is a journey filled with challenges. The primary hurdle involves persuading a publishing house to forge a deal, a daunting task for those yet to establish their reputation in the market. The negotiation landscape is complicated by endless uncertainties, making it difficult to strike a mutually beneficial deal. Even if you try to be fair for both sides it is hard. Most people will prioritize themselves and what they get in an uncertain environment - like figuring out how many books will be sold for a first time author. The dynamics intensify when publishing houses provide editors to authors--an arrangement that frequently sparks friction. Authors, protective of their creative work, may resist alterations, but editors, with seasoned expertise, have to navigate the delicate balance between preserving the author's vision and refining the content.
The complexities extend to the business side, with potential pitfalls surrounding signing bonuses. Questions linger: What if the bonus overshoots and the book underperforms? What if the book succeeds, but the bonus proves inadequate, leading the author to seek alternatives for subsequent works? Marketing poses another challenge, raising dilemmas about investments, audiobook adaptations, navigating royalty payments, and banking fees for small markets and international payments.
Just like in the logistics industry here with royalties, we have the same problem of counterparty risk. In addition to stopping the payments to the authors completely, do you trust the publishers that they are giving the correct sales numbers? Translation decisions add another layer, raising queries about language choices, and fair compensation for translators. What about the illustrators? Each party involved creates more and more friction in the system just because everyone is seeking fair compensation. The payment system does not allow them to focus on what they provide in terms of value, but focuses everyone on mitigating the shortcomings of it. Addressing these multifaceted challenges requires not only innovation but also transparent and adaptive contractual frameworks to foster a more equitable and efficient publishing ecosystem.
The challenges for authors extend beyond the realm of creative content, and the intricacies of the publishing and marketing landscape. While the invention of ebooks has somewhat dismantled barriers, enabling easier self-publishing, the journey is not without hurdles. Authors opting for self-publishing must navigate the complexities of setting up accounts and managing distribution before reaching the point of uploading their work. Once published, the dual role of author and marketer emerges, demanding not only literary prowess but also strategic promotional efforts to capture the audience's attention and drive sales. The demanding nature of marketing leaves authors with limited time for their core competency - writing - which hinders the development of subsequent books that they would like to write.
### Lighting Up Publishing: From Solo Authors to Collaborative Ventures, Unleashing the Potential of Instant Split Payments
Now that this is the third industry that we are looking into, we know that delayed payments are the problem and that they are tied to time and not actual work - “You have to write the book till this date or else…” “We will gather all payments and royalties will be paid later”. Since we know now that the Lightning Network can fix this let’s dig into the solution and what it may look like.
If you're a first-time author and choose to publish your book on your self-made app, you can instantly receive 100% of the income for each purchase. By utilizing a non-custodial solution like Breez, where no one holds money for others, you avoid the complexities associated with traditional payment methods. This setup eliminates the need for currency exchanges, providing a seamless global payment network directly connected to your app. The benefits go beyond mere currency considerations, freeing buyers from the hassle of exchange rate fees and relieving them of the complexities associated with navigating diverse regulations and processes across various countries. Who knows what regulations you have to deal with to be able to operate with the Iranian Rial just to sell a simple book? With a non-custodial solution on the Lightning Network, you get to avoid all that.
That is a big benefit for one-man shows in the book industry, but let’s take it a step further. In this scenario, where the relationship involves only the author and a publisher, the process becomes streamlined without the need for intricate negotiations, personal data sharing, or complex contracts with various clauses. With the instant settlement, there's no need for advance payments, both the author and publisher receive a percentage from each sale instantly when the purchase is made. The publisher, responsible for uploading and promoting the book on their website, and the author are now aligned in the common goal of selling more books. The only task left is to determine the fair percentage splits between the author and the publisher, fostering a collaborative and efficient partnership. Now the word royalties will have a completely new meaning.
Okay, that is between two entities, but we are not going to stop there. Now that the book is published the book can be translated to other languages. In that case, the complexity does not increase a lot. They just have to determine the percentage share split between the publisher, author, and translator for each sale of the translated version. Upon purchase of the translated book, each payment will be split three ways. Meanwhile, the original language version undergoes a two-way split, with the translator excluded from this split since they didn't contribute to that version. This ensures that the relevant individuals receive sats exclusively for their specific contributions. There might be a need for a separate publisher for the translated language, leading to a split between the author, translator, and second publisher. For the original language, the split occurs between the author and the first publisher. Theoretically, the current system goes through a similar structure for the payments, but I am reminding you here that only the instant split settlement makes that plan match the reality in practice. The moment that any entity starts holding funds for someone else even for a little, then the problems go up exponentially. This is why Breez is committed to preserving the peer-to-peer nature of Bitcoin in lightning payments.
### Instant Splits For Narrators, Producers, And All Contributors - A Symphony Of Fair Compensation
We are not done yet with the benefits. Now that we have a path for each language, what will it look like for audiobooks? In that case, you just add one more split based on the agreement between the parties. If you create an audiobook in the original language then the split will be between Author, Publisher, and Audiobook creator. The creation of an audiobook is a project on its own of casting, recording, post-production, and distribution. That has multiple people involved so the split for the audiobook payment in reality may look like this:
Author, Publisher, Producer, Recording engineer, Narrator, Editing/mastering engineer.
In this dynamic model, contributors may wear multiple "hats" within a project, allowing them to assume various roles and, consequently, earn a share for each responsibility they undertake. For instance, an Author might take on the roles of both Producer and Narrator, performing additional work beyond their original scope. In such cases, the Author receives a percentage for each distinct role. However, should the Author choose not to take on these additional roles, someone else can assume those responsibilities and reap the corresponding benefits. This structure ensures alignment, with compensation tied directly to individual contributions at the time of each book sale, eliminating compensation for time or speculation based on future sales.
Unlike the other two industries we explored in construction here and logistics here, the timing of payment in the publishing industry differs. In the preceding sectors, individuals receive compensation instantly upon completing their respective tasks. However, in the realm of authors, payment is not immediate for the act of writing; it occurs when someone is willing to pay the price for the published work. This distinction highlights a fundamental principle: everyone is remunerated when they deliver value to someone else who is willing to pay. Whether delivering a package to the correct address or constructing a house for someone else to inhabit, optimizing the process with the client in mind becomes paramount. Therefore, receiving sats is contingent on providing intrinsic value to others, aligning the industry with similar principles observed in construction and logistics. If you build or deliver something that people do not want, that means you did not provide value.
### Instant Influence: From Metrics To Value - A Paradigm Shift In Compensation For Promotions
Now let’s take it even a step further. This will not be the only industry where the influencers can change their business model, but I will use it as an example to explain the change that they will experience in their service. Currently, the influencers get paid for views or mentions depending on whether the medium is audio or video. Their value, as perceived by those paying them, hinges on metrics such as subscriber counts, views, and downloads. But for the person that is paying, is it going to matter if the influencer talks about a book but then it does not result in sales of the book? Or again what happens if someone mentions it but the sales are extraordinary, then the influencer has to receive a more fair compensation. Connecting payments directly to actual value, rather than relying on derivative indicators, ensures influencers receive fair compensation in line with their impact on sales.
Well, the instant settlement fixes that. Authors can now decide on a fixed percentage for influencers per sale, allowing anyone to become an influencer without the need for a massive following. Even a small blog with a modest readership of less than fifty people can result in direct, instant compensation for sales generated. This eliminates barriers to entry for the influencers to have a following and aligns incentives for authors seeking broader promotion. There is a massive friction in the influencer market currently because with poor measuring tools you do not want the money to be wasted on promotion that does not work. This future system is not going to waste a single sat for promotion because it is not paying for a promotion. You are negotiating a commission on every sale which the actual buyer pays - increasing sales is the intent of the authors reaching out to influencers anyway.
Now that we have an influencer promoting a book the UX (user experience) is going to be completely different. Right now to promote anything as an influencer you receive a code that you have to ask for, from the publisher in this case. Then your viewers/listeners have to go to the website and fill in all the information about themselves. Then they have to enter their card information which has to be secured from the website somehow. Then they enter the promo code and receive the ebook that they wanted. On the other side, the publisher has to hope he does not get a chargeback for whatever reason in the next 30 days. The instant settlement UX will be:
- Influencers enter a lightning address where they want to receive their commissions from for every sale.
- Then they display a link or a QR code that will be a lightning invoice for the specific book.
- The buyer enters an email where they want the ebook to be sent.
The instant split payment is sent and everyone including the influencer receives their share of it. This way even influencers might realize that the likes, views and comments are not the most important thing and focus on providing real value for their viewers. This not only streamlines the process but may also alleviate the impact of negative comments and dislikes for influencers. Because their income is not tied to the likes that means it will no longer be the most important thing. They will focus on promoting quality products that sell a lot so they get a piece of those sales and the likes will be secondary.
The transformation in influencer behavior triggered by instant settlement not only disrupts their traditional approaches but sparks competition among publishers and influencers alike. Authors may opt for a model where they focus solely on writing, leveraging influencers to handle promotion without dealing with traditional editors. This introduces a more diverse competitive landscape, where publishing houses will compete with content creators from different industries who passionately recommend authors they love. While these changes benefit readers, authors, and participants, those resistant to competition may be the only ones disliking this evolving landscape.
image1
Indeed, envisioning the transformative power of instant payments, there's an opportunity for an innovator to replicate what Amazon did to bookstores. By adopting a model built on advanced technology and leveraging the advantages of instant settlements, this individual can start with books and subsequently explore avenues for expansion. The potential for such a disruptive force lies not only in reshaping the publishing landscape but also in inspiring new possibilities across diverse industries.
Now let’s go and publish that app.
-
2024-08-17 22:55:02
Fits snugly behind the ear, just slap with your hand ... most realistic bloody ear ever! 6 pieces $12.95.
originally posted at https://stacker.news/items/652908
-
2024-08-17 22:29:22
Fits snugly behind the ear, just slap with your hand ... most realistic bloody ear ever! 6 pieces $12.95.
![](https://m.stacker.news/46439)
originally posted at https://stacker.news/items/652889
-
2024-08-17 18:00:03
From creating connections to taming #LLM-generated chaos, we dive into how embeddings can turn digital noise into meaningful insights. Join Liminal from Project Alexandria and me as we explore the fun side of navigating the wild web of ideas and relational knowledge in Episode 937 of Bitcoin And.
Liminal is sharing 50% of this episode's revenue so use a modern podcasting app to generously BOOST, STREAM, and ZAP Sats.
- Project Alexandria
- nostr's Ecosystem
- Zettlekasten Note Taking
- LLM's Role in Deleting Relational Noise
- The Future
Listen to the interview on @fountain
--> https://fountain.fm/episode/vvZkH5FKqYVuyFAP312V <--
originally posted at https://stacker.news/items/652671
-
2024-08-17 17:36:38
I wanted to share the crazy odds I managed to get at Nitrobetting, when they rolled out their new site overhaul. I blew pretty much the remainder of my sats on NFL Futures, which they didn't used to offer.
- Raiders to win the AFC West (+900)
- Lions make the Super Bowl (+550)
- Chiefs make the Super Bowl (+375)
- Bills make the Super Bowl (+700)
- **49'ers win the Super Bowl (+10000)**
This is the 49'ers year!
originally posted at https://stacker.news/items/652649
-
2024-08-17 07:36:43
# *Week 12-08 a suitable protocol*
The knots come to a head, some of you have gray hair, you get older.
Tkinter is better than ws://, more secure, but has limitations,
unless you know how to use figma and do some magic. The project of Nabismo.
Maybe Nostr doesn't work for me.
**Aspirin moment**
Nip-17, works with nip-44 and nip-59.
Someone said they made the groups encrypted with nip-17.
I tried and succeeded, now you can DM me, don't do it.
I had sent the link to a conversation of nip-87 closed groups.
There's JeffG doing something with MLS.
Then there's keychat.io which uses signal Nostr Bitcoin ecash and that's it... But in dart.
It's a bit like the Matrix analogue for Nostr.
Final controversy not all nips are mandatory.
**Build the foundation. You can't think about selling the house**
Yakihonne has a countdown.
What can a desktop app be.
Community Lists, Nip-29
A birthday on Nostr, no that's not possible, they're all cypherpunks. 🎉🎉 (Except me)
There is a different attitude from **Nostr** when updates are released compared to **Bluesky**,
everyone there is still enthusiastic, on **Nostr** ah ok but this is missing oh but this is missing or but support this other one,
or but * zap*, wait a minute, keep calm 🙇♂️, I'm the first to do this. (*The revolt of the developers)
Deletetion: Client that have relay paired can do delete, more intelligently,
Perhaps you can think of a delete.nrelay subdomain as a filter.
This id is deleted.
Be careful what you don't want to do.
Maybe a session with a psychologist is better, because then you find yourself doing what you said you didn't want to do.
Does it make sense to follow someone on **Bluesky**?
In my opinion no, or better yet yes.
There are several algorithms on** Bluesky**, which do their job well.
In the end it's just a matter of arranging them better on the screen.
Yes you can have lists to save someone, but then you read everything, so lists with algorithm seems like a next feature.
this way they can keep the following small, almost minimal, because there are algorithms that work for the user.
People will start writing for SEO algorithm and AI and other things, which tech gurus really like and so on.
The fact that it is almost exclusively an app will greatly facilitate this trend, there will be almost no need for moderation,
and you can get it all in just a few apps. (Great)
Oh yegorpetrov has abandoned.
Pegorpetrov said that he is coming back 😌
It might be an invention but I'm a little heartened by it.
**Bankify**, a new wallet of super testnet, only for crush testers.
You can't stream on *zap stream* without reach, maybe it's better audio space.
Contact someone maybe an influencer or Nostr elite or whatever.
Open Source Justice Foundation streaming
*Designer*, I wanted to propose comment on wikifreedia nielliesmons article and follow #nostrdesign, but too many answers for today. NVK note is ~~mainstream~~
I think I'm not suited to Nostr.
Nostr-ava bike file geo tag sharing. (NIP-113)
Sebastix doesn't respond, I must have done something bad to him, or maybe I'm stressing him too much. Finally he replied 🤙.
In the end maybe, I have too much hype about this proposal and it's something I don't know maybe,
but maybe if they were already doing something with geo tags it's better to say so.
Another birthday, less cypher more punk 😌
Usdt on Nostr, there must be some error. (freeform app)
USDT on tron is like Money. (Bitcoiner not really)
Privacy issue, deletion motion, or deletion request, go go.
Nip29 hype, i don't have hype at all.
I'm tired of words, I record a podcast on Nostr. Let's see if I can do it, at least think it.
(It's more of a workflow thing than actually something I would do)
1. Create an npub (easy)
2. Record the audio episode (I think I can do it). Terrible audio
3. Loading on a Nostrhosting, if less than 10 MB it should go smoothly.
4. Publish the video or audio of the episode on some Nostr client, perhaps using blastr relay 😞.
5. Do the nostree link, by putting the episode, and also the npub.pro and put the URL on café-society.
6) Publish all these links on the Main profile, saying that, made a podcast about Nostr in Nostr of nostr. 😂
I thought a client could have poll, form, spreadsheet, collaboration document.
It's the kind of otherstuff we want to see.
Something that goes beyond a normal feed.
Emoj on bluesky, Eventually also zap 🥜
[link emoj Blue](https://bsky.app/profile/did:plc:kkf4naxqmweop7dv4l2iqqf5/post/3kzskvd75q226)
Eventually there will be a developer revolt
And they will only do a social network in their downtime, they will call it **Nostr**.
There is a storm, **Nostr** does not work in 4g with two bars.
Or now 4G is gone too.
Yakihonne Smart widgets, something to try on the weekend.
-
2024-08-17 04:41:50
Wow
-
2024-08-17 02:50:05
Somebody, somewhere, at some point decided they would destroy the competition by creating a barrier to entry. They made the barrier high so they could feel safe. It is logical to put a fence around your property, and perfectly fine to do so. The problem is when you put a regulatory fence over something that means you are not allowing anyone else to have a property like this. Just to make the distinction clearer a fence around your house is creating a cost for other people to get in the yard. A license to be able to have a fence is creating a cost for anyone to protect their yard. The harder to attain and costlier the license is the more people can’t afford it. The more people who can’t afford it the bigger the divide between rich and poor. You can't have a fence because you can't have a license leaving your yard unprotected. The poor people are left unprotected and they get robbed easily, the rich are hard to get so they keep what they have. The more licenses/regulatory compliance someone has to comply with the more the costs for them are increased and the cycle of dividing is entrenched.
When constructing something physical, regulatory oversight is sensible to ensure structural integrity, particularly when people no longer build things for themselves. However, when it comes to more abstract concepts like licenses and credentials, possessing them doesn't guarantee success, and lacking them doesn't preclude doing excellent work. The whole point of the series is that the work should speak for itself and the people who did it should build their reputation based on their work history not on theory.
Let’s dive into a sector full of licenses for abstract things that keep people out and cornered the market. The betting industry.
The incentive structure in this scenario is problematic. Individuals with substantial financial resources that were gained illegally may seek friendly relationships with those responsible for issuing licenses. Obtaining a betting license now can serve as a means to launder money acquired unlawfully. Beyond mere laundering, they have a direct incentive to continue their illegal activities and a way to legitimize the funds. So they steal from the people who work and it gets even worse. Their scaling solution is to open the money laundering to other illegal actors.
A few parts of the economy are primed for these types of activities: the lottery, casinos, and sports betting.
Let’s start with the current lottery system and the “potential” exploits. Well, one person does something illegal and has stolen $1,000,000. Now he has a problem with how to legitimize the funds so he can spend it on things he wants. He goes to the owner of a lottery and says I will give you $200,000 if you give me an $800,000 winning ticket. Now 80% of the funds become legal. The person with the illegal funds buys $200,000 worth of tickets from which 1 of them is set up to win $800,000. Now all the funds have become legal. So the lottery company has a $200,000 income and $800,000 payout, seemingly paying out the winner with legitimate funds, but in reality, using the criminal's own money - correction, other people's stolen money. That is good for hiding taxes and the state is not getting anything, or is it?
The state gets its cut for every winning ticket by taxing all winners. Because of this income, they are incentivized to have more winners. This whole “hypothetical” system then is limited by how much money has to be laundered. More illegal money, more income for each side - the state, the illegal player, the lottery company. While they get the big winning tickets the public is left with the small prizes and they are robbed continuously for the next lottery "prizes". This tripod system demonstrates how one simple thing can be a continuous erosion of society. The lottery company does nothing to earn their money but they are incentivizing the illegal actors to continue doing illegal things. The State allowing licenses keeps competition out. The illegal actor closes the circle of his business.
The lottery should be something that is played without anyone having an advantage over anyone else. Including the company, there shouldn’t be a barrier for people creating all sorts of lottery games. The same model of behavior incentives is applicable for all the casinos. There is the same principle - some type of algorithm determines whether you win or not. But you can always approach the casino owner and apply the same logic to the casino. A player with illegal funds has to launder a million dollars again. In the first few hands, he wins a million dollars and keeps playing until incurs losses amounting to $200,000 and then stops. This way the casino loses $800,000 on its balance sheet but in reality, the illegal funds are distributed to the casino and the illegal actor.
In the sports betting industry, the barrier to entry is often determined by licenses, and companies typically act as custodians of the funds when users place bets. Additionally, these companies are responsible for providing betting odds, a task that incurs substantial costs when done accurately. Assessing various factors such as team performance, player injuries, and changes in management helps determine the odds. However, it's crucial to note that the odds provided by betting companies are designed to favor the company rather than the individuals placing bets. This inherent bias in odds contributes to the company's profit margin in the betting business.
### Exploring a free and ethical approach to lottery apps and innovative payout structures
The whole lottery system should be verifiable! The point of it is not to have yet another system where the poor are preyed upon. That is why the lottery app should be open-sourced. The bigger reason for the apps to be FOSS - I am reluctant to say how this particular app should be created because, on the one side, there are going to be regulatory people who want you to ask for approval, and on the other side there are betting companies that a percentage of them are involved in criminal activities. If you create an app that makes them obsolete you will find yourself being attacked legally, illegally, and anything in between. That is why the only option that I see for a small guy to not be a target is to create this app as a FOSS (free and open source software). This will create a problem for those entities because there is no target. It will have no barriers for others to create apps competing with the existing incentives. There was a big debate in my head about whether I should publish this article about this particular topic because of the ethically sticky situation. Also, I do not think that people should play with money and bet on stupid things. The main reason that I am doing this is that there should not be an incentive to do illegal activities but there should be a cost for it. Since the current system is incentivizing it, people should create the cost for them by making a free alternative (no licenses, or permissions from anyone) and with no risk for the players (non-custodial). Also, the cases that we will look at below as a payment structure are simply cool and unique that we have yet to experience anywhere. This will push even us at Breez to create and facilitate them if the need is there. Now let’s take a look at the potential solution and what I envision it could look like.
An algorithm can be designed where individuals purchase a virtual ticket, and once 100 participants acquire tickets, the entire pool is distributed among three randomly selected winners. The distribution comprises 50% for the first prize, 30% for the second, and 20% for the third. The concept of a physical ticket is eliminated; instead, participants contribute equal amounts of satoshis to a smart contract, which activates upon reaching the 100th participant. The executed contracts allocate 50% to the first-place winner, 30% to the second, and 20% to the third. No entity holds funds for others, and participants await the completion of the 100 spots to determine the three winners. You can do the lottery for more or fewer people. For different amounts of sats. With a different payout structure.
I envision a lottery game modeled after the hashing race in Bitcoin mining. Participants are required to guess a number between 1 and 1,000,000 by locking in 10 satoshis for each guess. If the guessed number is incorrect, that specific guess is eliminated from the potential answers, and the satoshis from all guesses contribute to the Jackpot for the correct number. The participant who correctly guesses the number receives the accumulated satoshis. The payout amount depends on the position of the correct guess, for example, if it occurs on the 10th try, the prize is 100 sats, and if on the 100,000th try, the prize is a million sats. Upon completion of the payout, the game resets, and participants can engage in the next round.
### Revolutionizing one-on-one Betting with trustless payouts
When I am with a friend, we can choose to place a bet on something--our favorite sports team, who can spit the furthest, or whether the sun will rise tomorrow. We are perfectly able to do so with cash, and we do not need a license from anyone to place those bets or determine the odds for us. There is only one problem that we have to handle when the results are in - the person who is losing the bet has to pay the winner. Because of this risk, you need a trusted third party that is unbiased to execute the payment when the results are known. Now you need a mitigation for the third-party risk--that they won't run away with the money. So you make a fourth party involved to determine who can have a license to be a trusted third party, and we are back to the current fiat operational model.
With instant settlement and smart contracts, we destroy all those problems.
* You do not need a license for trust because no one is holding money for anyone else.
* You do not need a trusted third party because you have a smart contract responsible for the execution of the payment when the results are known
* You do not need a third party to determine the odds because they are decided by the people and put in the smart contract
* You do not need to trust the person to pay when you win because he signed the execution of the payment when both of you placed the bet.
This structure for one-on-one betting is already implemented with a few games in the lightning space. One is from our friends at THNDR games and another is the Chain Duel. I like the infrastructure for the payment of the THNDR games because I am a sucker for non-custodial lightning. Custody for a second, a minute or a year is still custody.
What would a sports betting app look like that has a non-custodial instant settlement? There are a few easy settings to establish. First, there needs to be a deadline for placing bets before the sports event starts. Second, a timeframe must be set for the payout. In one-on-one betting, the payout structure is straightforward. Each side can wager any amount against the other, and if there is a disparity in the amounts, the odds are not 1:1. When the result is determined, the winning party has their funds unlocked without being sent, while the losing party has their contract executed, transferring the payment to the winner. THNDR is already implementing a similar concept called "clinch" which we are glad we had some input on, but I want to take it a few steps further.
### Exploring novel concepts in wagering -> community-to-community
What if there's a group of people on one side of the bet and another group on the opposing side? What does the payout look like, and how are the odds determined? Let's delve into a straightforward graph to better illustrate this example.
The graphs in the picture are the reference for the explanations below
The individuals on the left consist of only two people, but they wager a larger amount. On the right, there are four people, but their bets are smaller. If the left side wins, the two individuals will share the $1,000 bet placed by the opposing group. Since they bet equal amounts, each person will receive $500, reflecting a 50% stake for each. Conversely, if the right side wins, the stakes differ. Individuals 1 and 2 have a 25% stake, person 3 has a 40% stake, and person 4 has a 10% stake. Consequently, their respective payouts would be $500, $500, $800, and $200. That was a surprise even for me - there is a proof of stake system that I would be for. I realized that the staking is just not used in the proper context and that is why I have a problem with it. Proof of stake is deployed for bets and bets only. There is no such thing called staking your energy - that is called working. Now this system is not the shitcoin model - stake something and I guarantee you something more. Staking something means that going in you know (or you should know) that your stake could be lost. If someone is asking you to stake money and promising you more money you should ask yourself who is the loser that will pay the winner. If I am the winner, who is the loser? If we are all winners that means we all lost to inflation and the winner is the inflator. Stake = Bet.
The true stake system introduces a novel dimension to betting. While the primary goal is to win, participants might consider adding more funds to their community bet to avoid dilution. For instance, if I initially bet $10 alone, I would have a 100% payout potential. However, if someone else places a $10,000 bet on my side, my potential payout percentage drops to less than 0.1%. In such a scenario, I face two choices: increase my bet on my community's side for a better payout or place a bet on the opposing side, capitalizing on the changed odds for a potentially significant payout if I am wrong. This concept sheds light on the genuine meaning of hedging. You are hedging things that you BET on! Whether you call it an investment strategy or not you should now recognize that everything in the fiat system is using these terms but hiding the fact that it is gambling. For example, if you are a true investor you should do everything you can to make your investment work and realize that goal. Betting against yourself = hedge.
The community-to-community betting brings about more significant implications than current betting models. In this setup, the victorious community directly benefits, and if the bet is placed on a sports event, the winning team supports the winning community. The funds from the losing team's community are directly paid to the winning community and not to a betting company. This eliminates the intermediary role of any betting company. The people also are forced to do their research and assess which is a good bet and which is not - not that the majority do it. If they did it was going to be clear to all of us by now that all sh*tcoins are the fiat scam on a blockchain.
When there are three or more possible outcomes for a bet, multiple people or communities can bet on those outcomes, and all losing communities pay the winning community. In this scenario, individual participants receive payouts based on their respective stakes. For instance, in a bet involving predicting an exact score where no one bets on the correct score, there is no winner, and consequently, no actual losers. In such cases, participants simply have their sats unlocked without any winnings or losses.
We invest our energy in goals - make sure it is your goals and not someone else's. With money, we do 3 things only - earning, spending, or gambling!
People want to pay you money so you achieve their goals and stake your money so you can lose it to them. Be very aware of where you invest your energy and how you are using your bitcoin. I would like to repeat my statement from above one more time. The forces that are involved with these gambling companies are very powerful and I do not want to inspire someone and put a target on their back. I am doing this because of the utility of the payments and because this can be an open-sourced project that just competes with them. Satoshi set a standard for how to solve a monopoly - with FOSS. This will completely reshape the coordination between humans again with instant settlement payment. I do not like that I am promoting betting behavior because it is addictive and dangerous but I hope this puts a light on why all fiat behavior is gambling. The only proof of stake that matters is what is your stake in Bitcoin from the 21 million coins. Having a stake there is betting on humanity for the better.
Now be careful with this bet to make that app!
-
2024-08-17 00:41:55
test
originally posted at https://stacker.news/items/459392
-
2024-08-17 00:36:47
test
originally posted at https://stacker.news/items/459391
-
2024-08-16 21:20:35
* Updated the references documentation [here](https://github.com/nostrver-se/nostr-php/blob/main/REFERENCES.md) and [here](https://nostr-php.dev/references/)
* Improved relay responses and added backwards compability for the used `CommandResult` class
* Added RelayResponses according to the logic described in NIP-01 using this [PR#59](https://github.com/nostrver-se/nostr-php/pull/59) from [kriptonix](https://github.com/kriptonix) as a base.
* `OK` response
* `ERROR` response
* `CLOSE` response
* `EVENT` response
* `EOSE` response
* `NOTICE` response
* Partly integrated NIP-42 with an `AUTH` relay response
* Added the documentation page 'relay responses' on [nostr-php.dev](http://nostr-php.dev)
* The screenshot is quite funny describing Nostr having PHP vibes comparing it with the ATProtocol from Bluesky \[[source](https://bsky.app/profile/bmann.ca/post/3kzcyksddj22u)\].
-
2024-08-16 20:12:45
test
originally posted at https://stacker.news/items/459390
-
2024-08-16 19:29:04
Opinion about BitWallet - Buy & Sell Bitcoin (android)
<!--HEADER END-->
On trustpilot, 20% of reviews are complaining about KYC only after trying to withdraw, with some claims of outright disappearing money.
<!--FOOTER START-->
#WalletScrutiny #nostrOpinion
[Join the conversation!](https://walletscrutiny.com/android/com.Android.Inc.bitwallet)
-
2024-08-16 18:20:14
# H1 Tag
Testing!
-
2024-08-16 17:54:13
## Chef's notes
Old family recipe that my grandma used to make during the summer. Creamy and refreshing.
## Details
- ⏲️ Prep time: 10 min
- 🍳 Cook time: 4 hours chilled
- 🍽️ Servings: 8-10
## Ingredients
- 3/4 cup shredded cucumber
- 3/4 cup cucumber juice
- 3/4 cup water
- 1 packet lime jello
- 1/4 cup chopped onion
- 1 cup 4% cottage cheese
- 1 cup Miracle Whip
## Directions
1. Shred cucumber and add salt to draw out moisture.
2. Mix juice from shredded cucumber and water.
3. Heat juice/water and dissolve lime jello.
4. Allow to cool slightly. (Add a couple ice cubes to chill it down and remove before melted)
5. Mix together the jello mixture and all other ingredients.
-
2024-08-16 17:10:38
Is there a database or website out their where I can put in my car year, make, and model and see what privacy intrusions my be there?
originally posted at https://stacker.news/items/651320
-
2024-08-16 16:13:21
#### What is multiculturalism?
![](https://m.stacker.news/46242)
Multiculturalism is a concept that promotes the acceptance, appreciation, and celebration of diverse cultures within a society. It involves recognizing and valuing the differences between various cultural groups while fostering social cohesion and equality.
***The key principles of multiculturalism include:***
1. Cultural pluralism: Acknowledging and accepting the existence of multiple cultural identities and practices within a society.
2. Equality: Ensuring equal opportunities and rights for all individuals, regardless of their cultural background or identity.
3. Inclusion: Encouraging participation and engagement of diverse cultural groups in social, political, and economic processes.
4. Respect: Promoting mutual respect and understanding between different cultural groups, while recognizing the legitimacy of differing beliefs, values, and practices.
#### Two questions come to mind:
![](https://m.stacker.news/46243)
1. ***Is it working?***
> IMO, ***most definitely not***. The world is very divided by race, religion and ideologies, it is a very difficult task. Countries trying this the most (practically enforcing it by law) have encountered more division and segregation; people of the same race, country or ideology will create their own small city sectors, cultural sectors, commercial sectors (China town, little Italy, etc); as is happening in USA for a long time already, happening as well in Spain, France, Germany, etc.
2. ***Is it being encouraged with tolerance toward those opposing it?***
> I personally don't think so, the irony... But that is just my opinion...
***What do you thing?***
originally posted at https://stacker.news/items/651181
-
2024-08-16 16:08:30
```js
import React, { useEffect, useState } from "react";
import axios from "axios";
import { InputText } from "primereact/inputtext";
import { InputNumber } from "primereact/inputnumber";
import { InputSwitch } from "primereact/inputswitch";
import { Button } from "primereact/button";
import { Dropdown } from "primereact/dropdown";
import { ProgressSpinner } from "primereact/progressspinner";
import { useSession } from 'next-auth/react';
import { useRouter } from "next/router";
import { useToast } from "@/hooks/useToast";
import { useNDKContext } from "@/context/NDKContext";
import { useWorkshopsQuery } from "@/hooks/nostrQueries/content/useWorkshopsQuery";
import { useResourcesQuery } from "@/hooks/nostrQueries/content/useResourcesQuery";
import { useDraftsQuery } from "@/hooks/apiQueries/useDraftsQuery";
import { parseEvent } from "@/utils/nostr";
import ContentDropdownItem from "@/components/content/dropdowns/ContentDropdownItem";
import 'primeicons/primeicons.css';
const EditCourseForm = ({ draft }) => {
const [title, setTitle] = useState('');
const [summary, setSummary] = useState('');
const [checked, setChecked] = useState(false);
const [price, setPrice] = useState(0);
const [coverImage, setCoverImage] = useState('');
const [selectedLessons, setSelectedLessons] = useState([]);
const [selectedLessonsLoading, setSelectedLessonsLoading] = useState(false);
const [topics, setTopics] = useState(['']);
const { ndk } = useNDKContext();
const { resources, resourcesLoading } = useResourcesQuery();
const { workshops, workshopsLoading } = useWorkshopsQuery();
const { drafts, draftsLoading } = useDraftsQuery();
const { data: session } = useSession();
const router = useRouter();
const { showToast } = useToast();
useEffect(() => {
if (draft) {
const fetchLessonEventFromNostr = async (eventId) => {
try {
await ndk.connect();
const fetchedEvent = await ndk.fetchEvent(eventId);
return fetchedEvent ? parseEvent(fetchedEvent) : null;
} catch (error) {
showToast('error', 'Error', `Failed to fetch lesson: ${eventId}`);
return null;
}
};
const fetchLessons = async () => {
setSelectedLessonsLoading(true);
const fetchedLessons = await Promise.all(
draft.resources.map(lesson => fetchLessonEventFromNostr(lesson.noteId))
);
setSelectedLessons(fetchedLessons.filter(Boolean));
setSelectedLessonsLoading(false);
};
fetchLessons();
setTitle(draft.title);
setSummary(draft.summary);
setChecked(draft.price > 0);
setPrice(draft.price || 0);
setCoverImage(draft.image);
setTopics(draft.topics || ['']);
}
}, [draft, ndk, showToast]);
const handleSubmit = async (e) => {
e.preventDefault();
const payload = {
title,
summary,
image: coverImage,
price: checked ? price : 0,
topics,
resourceIds: selectedLessons.map(lesson => lesson.id)
};
try {
await axios.put(`/api/courses/drafts/${draft.id}`, payload);
showToast('success', 'Success', 'Course draft updated successfully');
router.push(`/course/${draft.id}/draft`);
} catch (error) {
console.error('Error updating course draft:', error);
showToast('error', 'Failed to update course draft', error.response?.data?.details || error.message);
}
};
const handleLessonSelect = (content) => {
if (!selectedLessons.some(lesson => lesson.id === content.id)) {
setSelectedLessons([...selectedLessons, content]);
}
};
const removeLesson = (index) => {
const updatedSelectedLessons = selectedLessons.filter((_, i) => i !== index);
setSelectedLessons(updatedSelectedLessons);
};
const addTopic = () => {
setTopics([...topics, '']);
};
const removeTopic = (index) => {
const updatedTopics = topics.filter((_, i) => i !== index);
setTopics(updatedTopics);
};
const handleTopicChange = (index, value) => {
const updatedTopics = topics.map((topic, i) => i === index ? value : topic);
setTopics(updatedTopics);
};
const getContentOptions = () => {
if (resourcesLoading || !resources || workshopsLoading || !workshops || draftsLoading || !drafts) {
return [];
}
const resourceOptions = resources.map(resource => {
const parsedResource = parseEvent(resource);
return {
label: <ContentDropdownItem content={parsedResource} onSelect={handleLessonSelect} selected={selectedLessons.some(lesson => lesson.id === parsedResource.id)} />,
value: parsedResource.id
};
});
const workshopOptions = workshops.map(workshop => {
const parsedWorkshop = parseEvent(workshop);
return {
label: <ContentDropdownItem content={parsedWorkshop} onSelect={handleLessonSelect} selected={selectedLessons.some(lesson => lesson.id === parsedWorkshop.id)} />,
value: parsedWorkshop.id
};
});
return [
{ label: 'Resources', items: resourceOptions },
{ label: 'Workshops', items: workshopOptions }
];
};
if (resourcesLoading || workshopsLoading || draftsLoading || selectedLessonsLoading) {
return <ProgressSpinner />;
}
return (
<form onSubmit={handleSubmit}>
<div className="p-inputgroup flex-1">
<InputText value={title} onChange={(e) => setTitle(e.target.value)} placeholder="Title" />
</div>
<div className="p-inputgroup flex-1 mt-4">
<InputText value={summary} onChange={(e) => setSummary(e.target.value)} placeholder="Summary" />
</div>
<div className="p-inputgroup flex-1 mt-4">
<InputText value={coverImage} onChange={(e) => setCoverImage(e.target.value)} placeholder="Cover Image URL" />
</div>
<div className="p-inputgroup flex-1 mt-4 flex-col">
<p className="py-2">Paid Course</p>
<InputSwitch checked={checked} onChange={(e) => setChecked(e.value)} />
{checked && (
<div className="p-inputgroup flex-1 py-4">
<InputNumber value={price} onValueChange={(e) => setPrice(e.value)} placeholder="Price (sats)" />
</div>
)}
</div>
<div className="mt-8 flex-col w-full">
<div className="mt-4 flex-col w-full">
{selectedLessons.map((lesson, index) => (
<div key={lesson.id} className="p-inputgroup flex-1 mt-4">
<ContentDropdownItem content={lesson} selected={true} />
<Button icon="pi pi-times" className="p-button-danger" onClick={() => removeLesson(index)} />
</div>
))}
<div className="p-inputgroup flex-1 mt-4">
<Dropdown
options={getContentOptions()}
onChange={(e) => handleLessonSelect(e.value)}
placeholder="Add a Lesson"
optionLabel="label"
optionGroupLabel="label"
optionGroupChildren="items"
/>
</div>
</div>
</div>
<div className="mt-4 flex-col w-full">
{topics.map((topic, index) => (
<div key={index} className="p-inputgroup flex-1 mt-4">
<InputText value={topic} onChange={(e) => handleTopicChange(index, e.target.value)} placeholder={`Topic #${index + 1}`} className="w-full" />
{index > 0 && (
<Button icon="pi pi-times" className="p-button-danger mt-2" onClick={() => removeTopic(index)} />
)}
</div>
))}
<Button type="button" icon="pi pi-plus" onClick={addTopic} className="p-button-outlined mt-2" />
</div>
<div className="flex justify-center mt-8">
<Button type="submit" label="Update Draft" className="p-button-raised p-button-success" />
</div>
</form>
);
}
export default EditCourseForm;
```
-
2024-08-16 16:07:20
I do not know if it is intentional or if there is some conspiracy behind this but it seems clear to me that the media is executing a pattern they have done before. Pushing a narrative about bitcoin that differs greatly from that the elite hold personally.
I keep hearing the bitcoin ETFs have been adopted by institutions. That's not plebs. The plebs are not buying the ETFs or bitcoin for the most part. They have been psyoped into believing its a scam or to volatile at a minimum. Meanwhile we are seeing more wealth elites openly talking about bitcoin. We are seeing huge financial institutions buying the ETF or forecasting bitcoin gains in market value.
Recently I heard Morgen Rochard, a bitcoiner and certified financial planner say that the licensing org she is a part of is going after CFPs that recommend bitcoin. Like I said, I don't know that this is coordinated but it is odd. And regardless of intent this is a fractal.
One thing I have learned over the years is to spot media bs when I see it. They are clearly holding the public back from learning about bitcoin. The crowd here isn't affected. We are early adopters. But just thought about this today. Your friends and family are likely falling prey to a psyop.
What do you think? Do you think this is all coincidence? Or is there something more sinister in play? Regardless, it is hard to break the programming of the people around you. I know. I have tried on many subjects. Most of us are just the weird people in our social circles. We think differently. We are not bothered by holding views that are not on the index card of allowable opinion. At this point with bitcoin and many topics I just let people be. If they ask I'm ready to talk but I don't push. I'm a firm believer in leading by example. Making sure I'm prepared and strong so I can be a lighthouse when the storms come.
originally posted at https://stacker.news/items/651157
-
2024-08-16 15:38:28
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><iframe src="https://www.youtube.com/embed/yXyKGJc1Qvg" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen></iframe></div>
-
2024-08-16 14:38:11
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;"><iframe src="https://www.youtube.com/embed/07mOEyjR2tw" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen></iframe></div>
-
2024-08-16 14:37:38
```js
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
export default async function handler(req, res) {
if (req.method === 'POST') {
try {
const { userId, title, summary, image, price, topics } = req.body;
if (!userId) {
return res.status(400).json({ error: 'userId is required' });
}
const courseDraft = await prisma.courseDraft.create({
data: {
title,
summary,
image,
price,
topics: topics || [],
user: {
connect: { id: userId }
}
},
});
res.status(201).json(courseDraft);
} catch (error) {
console.error('Error creating course draft:', error);
res.status(500).json({ error: 'Failed to create course draft', details: error.message });
}
} else {
res.setHeader('Allow', ['POST']);
res.status(405).end(`Method ${req.method} Not Allowed`);
}
}
```
-
2024-08-16 13:22:12
-
2024-08-16 01:59:24
Traditionally, miso making takes place during the cold winter. Miso is fermented during the warm season and start using after it gets cooler in the fall. However, I did make during the summer and there was no problem.
For 29oz miso
Ingredients:
* Chickpeas 0.5lbs(227g)
* Dried Koji 0.5lbs(227g) *not raw(active) koji
* Natural salts 103g
* Chickpeas : Koji: Salts = 1: 1: 0.45 (salts 12.5%)
I find chickpeas easier to handle than soy beans. For soy beans,
* Soy beans 230g (soak at least 18 hours)
* Dried Koji 340g
* Natural salts 30g(Salts 12.5%)
You also need :
* Container for fermentation -32 oz glass jar (no metal lid) or strong plastic container or bag that can be sealed.
* large mixing bowl
* small bowl
* pressure cooker or large pot
* food processor or blender or masher (I use the bottom of small glass jar sanitized with hotwater)
* parchment paper or plastic wrap to cover the surface
1. Wash chickpeas and soak over night
2. Cook chickpeas until it can be crashed with your thumb and pinky finger with a pressure cooker or a pot (this may take hours with a pot)
Move a part of cooked liquid from the pot to a small bowl and drain the rest.
Wait until chickpeas can be handled with hand.
3. Mash chickpeas into paste
4. Sanitize the 32oz jar with hot water or sanitizer of your choice
5. Mixed dried koji with salts with hand
6. Add koji and salts to the chickpea paste. Mix with hand well. Add a little bit of the liquid you put aside earlier if the paste is too dry (do not add too much).
7. When mixed well, make balls with the paste using hands.
8. Throw one of the balls into the jar and push onto the jar with your fist. Repeat this process. (you don't have to punch here. Just push. This process is to transfer the miso paste into the jar without air. The exposure to air will lead to mold. Make sure not to have a space.)
9. After throwing all balls into the jar and place tightly without air, seal the surface with a piece of parchment paper or plastic wrap.
10. Close the lid.
11. Place the jar in a cool and dark place (room temperature). Leave 6 months to 2 years. After the half of the duration, you may pull out of paste and place the bottom half onto the upper half so that the miso will be evenly fermented. This process can be skipped. Check once in a couple of months if there is mold.
12. If mold appears on the surface, just scrape it off.
Miso pro's video.
He uses soys.
[https://marukawamiso.com/make-miso/85.html
]()
-
2024-08-15 21:11:43
test
originally posted at https://stacker.news/items/459389
-
2024-08-15 20:52:04
## Here's how people use OtherStuff apps.
1) They usually go there to write or post, not to read or view, unless someone they _closely_ follow wrote about it in a Kind 01 note, SimpleX chat, Slack Channel, Telegram group, etc.
2) While they are there, they sometimes look around at what their frens have posted, zap them, leave a comment or a reply, etc. Sometimes they spend hours there. They really like it!
3) Then they leave.
4) If someone responds to anything they posted or wrote there, with anything other than a Kind 01 reply, they do not know about it, because it does not show up in their normal feed or notifications.
5) They do not come back until 1) happens again.
-
2024-08-15 19:34:51
## Chef's notes
I hope you like it, let me know
https://maria.omg.lol
## Details
- ⏲️ Prep time: 10 minutes or so
- 🍳 Cook time: 30 minutes or so
- 🍽️ Servings: 1-4
## Ingredients
- Brussels sprouts cut in half
- Olive oil
- Salt, pepper, garlic powder
- Dried cranberries (craisins)
- Sunflower seeds
- Goat cheese
- Balsamic vinegar
- Sugar
## Directions
1. Preheat oven to 375°F
2. Cut brussel sprouts in half
3. Put them on a baking sheet and mix them up with olive oil and seasoning
4. Throw them in the over for like 20-30 minutes
5. Mix balsamic vinegar and sugar together in a sauce pan, heat up til boil then turn it real low to thicken it up a bit
6. When the Brussels start to brown pull them out of the oven
7. Pour the balsamic sauce on the Brussels to taste
8. Add dried cranberries and sunflower seeds to taste
9. Add goat cheese to taste or use on flatbread/crackers on the side
10. Add bacon bits to taste (if you have already cooked bacon!)
-
2024-08-15 15:52:24
I'm honestly asking for your arguments in either direction. Specifically from an economic perspective.
I'm not specifying between so called natural monopolies, market monopolies, or state enforced monopolies.
What do you think?
originally posted at https://stacker.news/items/649810
-
2024-08-15 11:43:13
Step right into the dynamic world of crypto, where excitement is in the air with Kiloex. Imagine a place where airdrops and governance tokens create a buzz of opportunity. Picture the Kiloex initiative — a shining light in the ever-changing world of finance. Our guide is like your trusted friend, helping you navigate the ins and outs of the Kiloex airdrop journey while showing you why it matters so much.
**Discover the Kiloex Airdrop Experience**
Kiloex airdrops are more than just receiving tokens; they’re like big celebrations that reward supporters with over $5000+ in value and valuable governance tokens. It’s not just about tokens; it’s about having a say in where the project goes next — a dream come true for fans of DeFi and community-driven projects.
**How to Join the Kiloex Airdrop Adventure**
👉 Visit the[ Airdrop Page](https://airdropalert.page.link/claim): Click on claim
👉 Connect Your Wallet: Link your active wallet to join (Empty wallets are ineligible.
👉 Verify Eligibility: Click Confirm on the prompt request to verify participation through your wallet by signing the prompt request.
👉 Claim Your Tokens: After Approving the prompt on your app, You will receive your rewards.
Tips to Get the Most from Your Airdrop Experience
💡 Get Involved: Immerse yourself in the vibrant crypto community to find more airdrop opportunities and make meaningful connections.
💡 Stay Updated: Keep an eye on new projects and exciting token giveaways.
💡 Keep It Fair: Follow the rules and stay ethical as you pursue airdrop rewards.
**In Conclusion**
The Kiloex airdrop isn’t just about tokens; it’s about joining a community-driven movement that values solidarity and collective impact. Stay informed, get involved, and enjoy the rewards waiting for you. Remember, in the world of crypto, knowledge and security are your best friends. Are you ready to unlock the limitless possibilities of the Kiloex Airdrop? Get Started!
**Disclaimer:**
1. According to the rules of Medium about cryptocurrency (https://help.medium.com/hc/en-us/articles/360000646167-Cryptocurrencies-on-Medium), I warn about the high risks of investing in cryptocurrency.
2. In accordance with Medium Rules (https://help.medium.com/hc/en-us/articles/213477928-Medium-Rules) and Federal Trade Commission law, I confirm that the article contains referral links.
-
2024-08-15 06:36:42
ここで、CNN チャンネルの絶え間ない衰退がわかります。完全に覚醒し、ワシントンの外交政策に有利な情報のみを発信し、ほぼ10年間トランプを侮辱し、例えばエルドアンやオルバンなど米国に反対するすべての人々に嘔吐してきたが、今やその所有者にとって支払うべき代償は非常に高価なものとなっている。 :
CNNはもう価値がない、ゼロ、NADA
ワーナー・ブラザーズ社は、情報を得たければ他のより中立で誠実なサイトを経由しなければならないことを米国人が理解していたため、91億ドルの価値を帳消しにすることを余儀なくされた。
「親会社のワーナー・ブラザースが91億ドルの評価損を計上したことで、CNNは実際には無価値になった。何年もの間、「私たち全員にとって」明らかだったことが、ついに公式になった。昨夜遅く、CNNとTNTの親会社であるワーナー・ディスカバリーの株価は10%下落した悲惨な結果を報告し、あらゆる面で期待を外れ、損益計算書のすべてのカテゴリーで落ち込んだ後、過去最低となった。
「2年前、従来のメディア企業の市場評価と状況は現在とは大きく異なっていた」とCEOのデビッド・ザスラフ氏は投資家との電話会議で語った。)今回の評価損は、NBA(バスケットボールリーグ)による先月のワーナー解任決定に続くものである。放送パートナーとして、ウォルト・ディズニー、コムキャスト、アマゾン・ドット・コムと11年間の760億ドルのメディア権契約を結ぶ。ワーナーブラザーズ先月、契約違反の疑いでNBAを相手取って訴訟を起こした。
さらに重要なのは、この下落は、従来のテレビの収入の大部分を占める広告販売と受信料を伴って、CNNなどのケーブルネットワークからストリーミングへ視聴者が流出し続けていることを反映しているということだ。
こうした変化はメディアにも反映されました。ワーナーは過去1年間で2,000人以上のポジションを削減し、先月CNNで100人を削減した」とブルームバーグを引き継いだZHはここに書いている。
いずれにせよ、新しい情報消費習慣により、会計士は貸借対照表における CNN と TNT の価値を 90 億下げることを余儀なくされました...
翻訳: CNNは死んだ。
そしてそれがパラマウントにとっても重要な点だ。「今週のパラマウントとワーナー・ブラザース・ディスカバリーの評価損は従来のテレビの棺に釘を刺すものだ」とイーマーケッターのテレビ・ストリーミングアナリストのロス・ベネズ氏は述べ、「パラマウントにとっては最大のチャンスだ」と語った。この状況から抜け出す方法は、Skydance を利用することです。待てば待つほど、ビジネスの価値は下がってしまいます。」
パラマウントの映画事業は、「IF」などの作品が初登場で興行収入トップとなり、「クワイエット・プレイス:デイ・ワン」がシリーズ最高の財務成績を記録したにもかかわらず、5,400万ドルの損失を計上した。」
https://www.zerohedge.com/markets/cnn-effectively-worthless-after-parent-warner-bros-takes-91-billion-writedown
-
2024-08-15 06:34:30
**# Introducing the Robosats Alert Bot for SimpleX**
Hey everyone,
Glad to make my fist post here! I am 🏛️TempleOfSats🏛️, a Robosats coordinator.
I'm excited to introduce a new tool for those using RoboSats—a SimpleX bot that notifies you when an order meeting your specific criteria (currency, premium, payment method, and amount) is posted. This project is designed to uphold the privacy philosophy of RoboSats by leveraging the security features of SimpleX.
## 🚀 Overview
This bot monitors RoboSats for orders that fit your requirements and sends notifications via SimpleX, ensuring your privacy. The bot checks for matches in the background and alerts you instantly when a match is found.
## 📖 User Guide
**1. Connect to the Bot**
Click [here](https://simplex.chat/contact/#/?v=1-4&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2F1hxVU2uzv58rmvUTWbzwqYzNwK1xHTjQ%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAdmTemke6RDWl1PS3RoHMkJ7U773pXb1o1HnlQ24wT3k%253D%26srv%3Dbylepyau3ty4czmn77q4fglvperknl4bi2eb2fdy2bh4jxtf32kf73yd.onion) to connect to the public instance of the SimpleX Chat Bot.
**2. Getting Started**
Upon connection, you'll receive a welcome message. Start by typing `/help` to see how to interact with the bot.
![](https://m.stacker.news/45925)
**3. Create an Alert**
Just type `/new` and follow the prompts to set up your alert. The bot will guide you step by step.
![](https://m.stacker.news/45928)
**4. Receive Notifications**
The bot monitors for new orders that match your criteria. When it finds one, you’ll get detailed info about the order, including an onion link to place the order.
![](https://m.stacker.news/45931)
**5. Manage Alerts**
View your alerts by typing `/list`. You can enable, disable, or delete them as needed. Alerts have a 7-day lifetime by default, but you can extend this with `/extend` command.
![](https://m.stacker.news/45932)
## 🛠️ Self Hosting & future of the project
Everyone is encouraged to self-host this bot, following the guide on the Github repo: https://github.com/lft3t8bx/Robosats-Orderbook-Alert-Bot-for-SimpleX-Chat !
Self Hosted version of the project could further extend the capabilities of the project.
For instance, an integration with the excellent [roboauto project](https://github.com/jerryfletcher21/roboauto) could allow users to make/take orders and automatically pay bonds / submit invoice through the self hosted lightning node.
## 🥚 Easter Egg
For those who made it this far, type `/satoshi` to get a random quote from Satoshi Nakamoto!
---
This bot is a great way to stay on top of RoboSats orders while maintaining your privacy. If you’re interested in self-hosting or have any questions, feel free to reach out!
Happy trading!
originally posted at https://stacker.news/items/649204
-
2024-08-15 05:05:51
# El nuevo continente
---
La siguiente es la carta de respuesta a mi amigo de Japón, Yamaguchi, quien me ha preguntado acerca de la vida en el "nuevo continente". Para ser más precisos, la relación que el continente tiene con bitcoin. Su servidor solamente ha conocido algunas partes de México y El Salvador así que por esta ocasión solo voy a escribir acerca del segundo país, al cuál ya considero un segundo hogar.
A continuación algunas fotografías con descripciones que ayuden a comunicar ideas de medianoche acerca del nuevo continente y bitcoin. Por otro lado, este escrito se ha procurado intencionalmente con el idioma Español en mente, mi lengua nativa, para fines de hacerle la tarea más fácil a ChatGPT, quien nos ayuda a traducir nuestras conversaciones.
---
## ¿Nuevo y viejo; este, y oeste?
![El Escalón, San Salvador, El Salvador](https://image.nostr.build/5ea976f1754e4f718fe0a622b953d8be4bdc0c2217d974af529c5d06a609fead.jpg)
Yamaguchi se ha referido al continente Americano como el "nuevo continente". Esto me ha sorprendido pues, desde mi experiencia, el continente Asiático, —para nosotros al menos—, es más comúnmente conocido como el continente del Este. (Eastern and Western). Llamarlo "nuevo" acarrea ya una connotación distinta a la geográfica, y la traslada a la temporal. Pues bien, para honrar la idea a propósito de una connotación temporal que mejor describa el carácter jovial de de Latinoamérica, ciertamente puedo confirmar que la vida de experiencia en El Salvador se aprecia temprana, pero llena de entusiasmo.
![Colonia El Escalón, San Salvador, El Salvador](https://image.nostr.build/ff46ac60c9b37c7dbeffbf5d48cb0419c6960552e3d5f01ed90bdd0508bcaf70.jpg)
Para todos fue una sorpresa el anuncio de bitcoin como moneda de recurso legal en El Salvador. La siguiente sorpresa para la gente Salvadoreña fue presenciar el ir y venir de extranjeros curiosos, energéticos y en algunas ocasiones, faltos de vergüenza. ¿Qué se le va a hacer?, por eso y por otras cosas son conocidos los bitcoineros :).
![Pelicano Surfing Camp, Conchalío, La Libertad, El Salvador](https://image.nostr.build/5bad0dcaaa4fe19d5595d71eef122e8b755d5bb767af6f5456dad58badc4babe.jpg)
Como tal parece que sucede en otros lugares del mundo, las grandes ciudades parecen más precavidas acerca del uso de bitcoin; desconfiadas, en algunos otros casos. No es para menos; en la ciudad a menudo las estafas y la criminalidad le hacen pasar malos ratos a las personas, y lamentablemente, el costo es la confianza.
![La Libertad, El Salvador](https://image.nostr.build/beedc13452930c37bfd16300a68054784e1975b35dbce6612a6565572c2fe785.jpg)
En la playa y en las montañas, sin embargo, las cosas mejoran. Bitcoin Beach es el nombre de la iniciativa que ha inaugurado un sueño parecido en muchos de nosotros; aún sin poder responder precisamente ¿cuál es ese sueño?, es posible asegurar que se puede "sentir" y que de este modo, el valor de la confianza puede ser reconstruido.
![Hope House, Punta Mango, El Salvador](https://image.nostr.build/e8f2fe447ac8f0bca597a52d97f328a01301ab4926c5f04486296b6c923fd934.jpg)
La gente Salvadoreña es muy trabajadora y de buen humor. El pueblo de El Salvador ha tenido que hacer frente a periodos de guerra, de violencia y carestía; pero a pesar de las adversidades, en sus corazones no se ha acomodado el resentimiento y en cambio, se ha permitido lugar a la bondad, el compañerismo y el esfuerzo.
![Punta Mango, El Salvador](https://image.nostr.build/7160fef13a54d46f7be127de2b08884edb94bcd8062d31d392c3bb645d005e70.jpg)
Por un lado más generalizado; tal parece que las oportunidades de inversión y empleo lucen optimistas. El Salvador tiene reconocidas producciones de café, caña, y energía volcánica ;). Mejor conocido por ser un destino clave para quiénes practican surf, El Salvador parece comenzar a abrir sus puertas a nuevas ideas.
![Región Cafetalera. Camino hacia Concepción de Ataco, El Salvador]( https://image.nostr.build/5556cc4b6058934dd886f76a78af1feae5d75b3f9b3eb7e8d6b367dbd4f2c189.jpg )
Ahora bien, personalmente hablando, para mi El Salvador es como un pequeño México. Las regiones climáticas y culturales son bastante parecidas, pero sin duda parece una buena ventaja tener las montañas y las playas a poca distancia; es posible cambiar de atmósfera en un mismo día.
![Concepción de Ataco, El Salvador](https://image.nostr.build/00c3163cd14db8ee3abb66c06e03227adefc7bdd3fca165209704dd8e37e6fd7.jpg)
Finalmente, me despido con un viejo refrán que viene a propósito del entusiasmo que bitcoin irradia no solamente hacia Latinoamérica, sino al mundo entero: "con calma, que llevo prisa". Es decir, si bien los sentimientos de energía, ímpetu y entusiasmo son alimento nutritivo para el espíritu; cuando se abusa de sus bendiciones se puede también propiciar la generación de malos hábitos o accidentes. Es mejor ir con con calma pero con confianza ;). Buenas noches.
![Punta Mango, El Salvador](https://image.nostr.build/f76b48b766c6cd457db8ca58b6ef9561645246cd05d74606526c32995954556b.jpg)
-
2024-08-15 01:33:31
*I normally post my Flash Fiction in the Art or the UFO categories. Since this one is about architecture and building, I thought why not post it here. I hope you enjoy it. *
_
**[LISTEN HERE](https://commercialherschel.substack.com/p/purge-the-gargoyles-architecture-intent-angels)** (The podcasts are more complete and nuanced, imo)
DAY 13 OF FLASH AUGUST FICTION. Not a lot to say about this one. A skill I have is building. I was a bricklayer and a stonemason, and I know fire tech. What that means is that I can build fireplaces, masonry heaters, flue systems, and chimneys. I think a lot about how the buildings around us affect us. I hate gargoyles. I love angels. I’m Commercial Herschel, and I’m here to help.
Purge the Gargoyles
-
**The People Agreed**
*614 WORDS WRITTEN IN A HALF HOUR*
Mayor Jackson won the election in surprising fashion. No one expected her to win. She had no real money, she didn't have any high-profile support, and the other two candidates were as shocked as she was that she won. Her campaign was simple. “Our City for Us”.
The dominant Party was on the outs with the people. They usually controlled the big cities, and the people finally stopped falling for them. They had lost favor, and there was no politics, or even violence, that would bring the people back to them. The other Party was more of a rural and suburban party, but the idea that they could get this city was like a conquest. They courted Mrs. Jackson, but they could not win her. They offered her money, and all sorts of corporations made all sorts of promises, but he just wanted her city to be for her people.
Her campaign was so unfamiliar. All of these corporations were making all of these promises to her. Her response was, “We'll see.” She didn't present herself as a candidate with all sorts of business and influence as leverage behind her. Instead, she presented herself as someone with the support of the people as the leverage behind her, so she could get the best deal for the people that she could. Her attitude toward the corporations was, “Look, do you see all these people I have behind me? If you want their business, I'm here to be sure you make a really good deal for my people.”
Once she took office, there were so many questions. The media and her critics were all over her, looking for answers to all the tough policy questions. She knew these were pressing concerns, but she wanted to truly ground herself. She had to establish some things in some kind of permanent way.
Her first press conference after the election was the time that she could establish her intent.
“Ma'am, no one expected you to win this election. What was the first thought you had when you saw the results?” One of the media people asked.
“My first thought was that the establishment didn't expect that they would have to cheat on me, so they didn't try very hard.”
Another reporter shouts out the next question. “Mrs. Jackson, what's the first thing you want to do with your new position?”
“Well, the Library really bothers me,” she says.
People are perplexed, it doesn't make sense. What could be the problem with a library?
“You don't like libraries, ma'am?” One of the reporters asks.
“Of course, I like libraries. Who does not like libraries? What I don't understand is why the library has gargoyles all over the roof-line. I want to replace those demonic gargoyles with angels.”
![](https://m.stacker.news/45903)
DAY 13 OF FLASH AUGUST FICTION
There are a lot of raised eyebrows among the press crew, it's not what they were expecting.
“I'm not going to use the city budget to do this,” the new mayor says. “I'm going to ask people to make donations at the library.”
Within a matter of days, the library had enough donations to replace the gargoyles with angels. There was a contest for some different angel designs. Some weird, wealthy people offered money for the old gargoyles, but the mayor crushed them into dust and dumped them into the nearby lake.
People felt better, something was right about this. It set the new administration on a good path, and the mayor was able to cut a lot of good deals that benefited the people of the city. She won several elections and served for three terms until she retired at an age that would allow her to enjoy her grandchildren.
The End.
I hope you might get a paid subscription, or [buy me a coffee](https://buymeacoffee.com/smellcast), or [donate some bitcoin](https://commercialherschel.substack.com/p/donate-with-blockchain-currency). I wish you the best. I’m Commercial Herschel, and I’m here to help.
![](https://m.stacker.news/45904)
originally posted at https://stacker.news/items/649105
-
2024-08-14 16:57:42
I'm not an expert about any of this but today I saw a document posted that I have seen posted many times on SN by @DarthCoin and others that lists people that supposedly work for IN-Q-TEL. I only say supposedly because I do not know if the document is accurate. The document mentions a person named "Lisabeth Poulos" as the IN-Q-TEL Chief of Staff. But that isn't her name. Her name is actually spelled "Lisbeth Poulos".
## Background
For those that are not familiar according to [Wikipedia IN-Q-TEL](https://en.wikipedia.org/wiki/In-Q-Tel) is
> an American not-for-profit venture capital firm based in Arlington, Virginia. It invests in companies to keep the Central Intelligence Agency, and other intelligence agencies, equipped with the latest in information technology in support of United States intelligence capability.
It is basically a "private" corporation controlled by the CIA and it really doesn't try to hide that. Poulos did work for IN-Q-TEL as chief of staff from 2002-2022. IN-Q-TEL is very obviously operated by the CIA and is connected with other government agencies. Looking at the companies connected to IN-Q-TEL is an interesting rabbit hole to go down. For those that still believe we live in a free country I don't think I can help you.
Anyway, what I have heard said elsewhere and posted on SN is that MicroStrategy is ran by the CIA. The only "evidence" I have seen is this document.
![](https://m.stacker.news/45834)
The evidence for this is weak to say the least. Honestly, I don't think overstating the case really accomplishes much except shock value. Now, don't get me wrong. I am not suggesting that the CIA does not control many companies or at least influence their direction and decisions. I highly recommend those interested in this topic read [Legacy of Ashes: The History of the CIA](https://en.wikipedia.org/wiki/Legacy_of_Ashes_(book)). It is not a conspiracy based book. It is all based on interviews with people that worked for or with the CIA and government. Its all on the record. Not based in theories. The stories told in this book are pretty wild and often sound like something you'd hear said by some nut case.
![](https://m.stacker.news/45835)
Back to MicroStrategy and Lisabeth Poulos. On her [Crunchbase profile](https://www.crunchbase.com/person/lisbeth-poulos) it lists MicroStrategy as well as BAE Systems. According to Crunchbase she also worked for CIA and NSA. She's at least a former spook but I have yet to see evidence that MicroStrategy is operated by the CIA. According to [her LinkedIn](https://www.linkedin.com/in/lisbeth-poulos-587a06105/) she is now self employed. It is possible that MicroStrategy is ran by or influenced by the CIA but I've never seen hard evidence of this. This doc having her name misspelled doesn't strengthen the case. Logically it very possible that her skill set is also valuable and a business intelligence company. That's what MicroStrategy does. She worked in government intelligence after all.
![](https://m.stacker.news/45836)
## Does it matter?
The broader question is why does this matter? When I start looking organizations like IN-Q-TEL, CFR, and others they have connections all over the Fortune 500. The US government and its agencies have connections in most companies. Its starts getting really dumb fast with the guilt by association. But, I have to admit this woman wasn't so low level person at IN-Q-TEL, it raises my curiosity for sure. I'm just not ready to say, case closed. Saylor is a spook. Why? Because my brain will not let me say that. It bugs me when people will on the one hand see how the system works and not just take what their rulers say at face value. But then will take loosely related facts built up into a definitive statement as fact. If you can't think of a conspiracy theory that you do not believe you might just be gullible. I have a deep distrust for government based on facts and experience. Its not based in theories.
This whole MicroStrategy & CIA thing reminds me of the story that the CIA created Bitcoin. I'm pretty sure it didn't but if it had... so what. It doesn't matter. Same is true here. If the CIA runs MicroStrategy it doesn't matter to me. They are buying a lot of bitcoin. Many other groups and people we may not like will buy bitcoin. Who cares. Its money not an exclusive club.
## The Threat
The only threat I see is that of influence. I've said it before. Don't create heroes. Saylor is a dude. He could be a bad dude. It doesn't really matter to me and it shouldn't to true bitcoiners. The only threat I see from Saylor is his influence over weak minded bitcoiners. Some act like everything he says is coming from the mouth of god. That's a problem, but not one we can fix. People like that will have many hard lessons to learn. There will always be fools.
I'm not saying you should go out and buy MSTR stock. I'm not saying you should trust Saylor or his company. I don't trust people from the government or suits. Just thought I would share what I found and a few of my thoughts for what they are worth.
originally posted at https://stacker.news/items/648650
-
2024-08-14 13:58:24
After months of development I am excited to officially announce the first version of DVMDash (v0.1). DVMDash is a monitoring and debugging tool for all Data Vending Machine (DVM) activity on Nostr. The website is live at [https://dvmdash.live](https://dvmdash.live) and the code is available on [Github](https://github.com/dtdannen/dvmdash).
Data Vending Machines ([NIP-90](https://github.com/nostr-protocol/nips/blob/master/90.md)) offload computationally expensive tasks from relays and clients in a decentralized, free-market manner. They are especially useful for AI tools, algorithmic processing of user’s feeds, and many other use cases.
The long term goal of DVMDash is to become 1) a place to easily see what’s happening in the DVM ecosystem with metrics and graphs, and 2) provide real-time tools to help developers monitor, debug, and improve their DVMs.
DVMDash aims to enable users to answer these types of questions at a glance:
* What’s the most popular DVM right now?
* How much money is being paid to image generation DVMs?
* Is any DVM down at the moment? When was the last time that DVM completed a task?
* Have any DVMs failed to deliver after accepting payment? Did they refund that payment?
* How long does it take this DVM to respond?
* For task X, what’s the average amount of time it takes for a DVM to complete the task?
* … and more
For developers working with DVMs there is now a visual, graph based tool that shows DVM-chain activity. DVMs have already started calling other DVMs to assist with work. Soon, we will have humans in the loop monitoring DVM activity, or completing tasks themselves. The activity trace of which DVM is being called as part of a sub-task from another DVM will become complicated, especially because these decisions will be made at run-time and are not known ahead of time. Building a tool to help users and developers understand where a DVM is in this activity trace, whether it’s gotten stuck or is just taking a long time, will be invaluable. *For now, the website only shows 1 step of a dvm chain from a user's request.*
One of the main designs for the site is that it is highly _clickable_, meaning whenever you see a DVM, Kind, User, or Event ID, you can click it and open that up in a new page to inspect it.
Another aspect of this website is that it should be fast. If you submit a DVM request, you should see it in DVMDash within seconds, as well as events from DVMs interacting with your request. I have attempted to obtain DVM events from relays as quickly as possible and compute metrics over them within seconds.
This project makes use of a nosql database and graph database, currently set to use mongo db and neo4j, for which there are free, community versions that can be run locally.
Finally, I’m grateful to nostr:npub10pensatlcfwktnvjjw2dtem38n6rvw8g6fv73h84cuacxn4c28eqyfn34f for supporting this project.
## Features in v0.1:
### Global Network Metrics:
This page shows the following metrics:
- **DVM Requests:** Number of unencrypted DVM requests (kind 5000-5999)
- **DVM Results:** Number of unencrypted DVM results (kind 6000-6999)
- **DVM Request Kinds Seen:** Number of unique kinds in the Kind range 5000-5999 (except for known non-DVM kinds 5666 and 5969)
- **DVM Result Kinds Seen:** Number of unique kinds in the Kind range 6000-6999 (except for known non-DVM kinds 6666 and 6969)
- **DVM Pub Keys Seen:** Number of unique pub keys that have written a kind 6000-6999 (except for known non-DVM kinds) or have published a kind 31990 event that specifies a ‘k’ tag value between 5000-5999
- **DVM Profiles (NIP-89) Seen**: Number of 31990 that have a ‘k’ tag value for kind 5000-5999
- **Most Popular DVM**: The DVM that has produced the most result events (kind 6000-6999)
- **Most Popular Kind**: The Kind in range 5000-5999 that has the most requests by users.
- **24 hr DVM Requests**: Number of kind 5000-5999 events created in the last 24 hrs
- **24 hr DVM Results**: Number of kind 6000-6999 events created in the last 24 hours
- **1 week DVM Requests**: Number of kind 5000-5999 events created in the last week
- **1 week DVM Results**: Number of kind 6000-6999 events created in the last week
- **Unique Users of DVMs**: Number of unique pubkeys of kind 5000-5999 events
- **Total Sats Paid to DVMs**:
- This is an estimate.
- This value is likely a lower bound as it does not take into consideration subscriptions paid to DVMs
- This is calculated by counting the values of all invoices where:
- A DVM published a kind 7000 event requesting payment and containing an invoice
- The DVM later provided a DVM Result for the same job for which it requested payment.
- The assumption is that the invoice was paid, otherwise the DVM would not have done the work
- Note that because there are multiple ways to pay a DVM such as lightning invoices, ecash, and subscriptions, there is no guaranteed way to know whether a DVM has been paid. Additionally, there is no way to know that a DVM completed the job because some DVMs may not publish a final result event and instead send the user a DM or take some other kind of action.
### Recent Requests:
This page shows the most recent 3 events per kind, sorted by created date. You should always be able to find the last 3 events here of all DVM kinds.
### DVM Browser:
This page will either show a profile of a specific DVM, or when no DVM is given in the url, it will show a table of all DVMs with some high level stats. Users can click on a DVM in the table to load the DVM specific page.
### Kind Browser:
This page will either show data on a specific kind including all DVMs that have performed jobs of that kind, or when no kind is given, it will show a table summarizing activity across all Kinds.
### Debug:
This page shows the graph based visualization of all events, users, and DVMs involved in a single job as well as a table of all events in order from oldest to newest. When no event is given, this page shows the 200 most recent events where the user can click on an event in order to debug that job. The graph-based visualization allows the user to zoom in and out and move around the graph, as well as double click on any node in the graph (except invoices) to open up that event, user, or dvm in a new page.
### Playground:
This page is currently under development and may not work at the moment. If it does work, in the current state you can login with NIP-07 extension and broadcast a 5050 event with some text and then the page will show you events from DVMs. This page will be used to interact with DVMs live. A current good alternative to this feature, for some but not all kinds, is [https://vendata.io/](https://vendata.io/).
## Looking to the Future
I originally built DVMDash out of Fear-of-Missing-Out (FOMO); I wanted to make AI systems that were comprised of DVMs but my day job was taking up a lot of my time. I needed to know when someone was performing a new task or launching a new AI or Nostr tool!
I have a long list of DVMs and Agents I hope to build and I needed DVMDash to help me do it; I hope it helps you achieve your goals with Nostr, DVMs, and even AI. To this end, I wish for this tool to be useful to others, so if you would like a feature, please [submit a git issue here](https://github.com/dtdannen/dvmdash/issues/new) or _note_ me on Nostr!
### Immediate Next Steps:
- Refactoring code and removing code that is no longer used
- Improve documentation to run the project locally
- Adding a metric for number of encrypted requests
- Adding a metric for number of encrypted results
### Long Term Goals:
- Add more metrics based on community feedback
- Add plots showing metrics over time
- Add support for showing a multi-dvm chain in the graph based visualizer
- Add a real-time mode where the pages will auto update (currently the user must refresh the page)
- ... Add support for user requested features!
## Acknowledgements
There are some fantastic people working in the DVM space right now. Thank you to nostr:npub1drvpzev3syqt0kjrls50050uzf25gehpz9vgdw08hvex7e0vgfeq0eseet for making python bindings for nostr_sdk and for the recent asyncio upgrades! Thank you to nostr:npub1nxa4tywfz9nqp7z9zp7nr7d4nchhclsf58lcqt5y782rmf2hefjquaa6q8 for answering lots of questions about DVMs and for making the nostrdvm library. Thank you to nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft for making the original DVM NIP and [vendata.io](https://vendata.io/) which I use all the time for testing!
P.S. I rushed to get this out in time for Nostriga 2024; code refactoring will be coming :)
-
2024-08-14 13:15:23
There exists a transformative impact in disseminating knowledge about spirituality, ethics, and social responsibility through educational avenues. This knowledge plays a pivotal role in cultivating individual awareness of the profound significance inherent in these dimensions of life. All efforts should focus on ensuring widespread access to education and fostering a deep understanding of spiritual values, which are key elements in the collective endeavor to eradicate selfishness.
Humanity must unite in all its endeavors, actively engaging in spiritual education—integral for both personal and collective growth. This not only contributes to individual well-being but also stabilizes collective mental states. As individuals explore spirituality with true understanding and awareness, free from misleading mystical speculations, a harmonious resonance emerges, fostering a collective consciousness that transcends discord and promotes mental stability.
A commitment to developing educational programs is paramount. These programs should enhance capabilities for a nuanced understanding of the presence of a higher power and its omnipresence in every facet of human existence. The importance of specialists and their collaborative efforts becomes evident, emphasizing a responsible attitude and concern for the world and society over individual impulses.
The potential of humanity is woven into the sacred scriptures, which hold the key to unlocking hidden dimensions of human existence. It is essential for everyone to comprehend the wisdom embedded in these scriptures—a knowledge that reveals itself when humanity engages with it collectively. This process requires collaboration and unity, eradicating selfish tendencies. The knowledge contained in the sacred scriptures is not for individuals but for all of humanity, highlighting the importance of developing altruistic intentions and fostering common connections. Open meetings, discussions, and ongoing interactions are crucial for deepening collective understanding and promoting genuine inquiry.
However, it is important to recognize the potential pitfalls that may arise when superficial knowledge from sacred scriptures is exploited for personal gain. In some cases, individuals driven by selfish motives commercialize this knowledge by publishing books, creating schools, and teaching immature adherents. Such exploitation distorts sacred knowledge, fostering disunity rather than promoting collective understanding. To safeguard against these developments, humanity must advocate for the development and implementation of tools, particularly using digital technologies, to ensure the authenticity and integrity of spiritual teachings. These technological solutions can be crucial in preventing the rise of sects and false teachings, safeguarding the purity of spiritual knowledge for the benefit of humanity's collective evolution.
-
2024-08-14 11:51:36
Heres a scenario:
Imagine you have a nostr e-cash/Lightning Wallet and you would like to have a maximum receive balance of 20k split in between 5 mints that enable multipath payments.
Pick 5 mints below to store 4k sats each, the funds are automatically withdrawn to your lightning node at the end of the day.
Stacker News
Robosats
Sparrow
Coinkite
Start9
Rabbit Hole Recap
@siggy47
Damus
LND
Your own mint
originally posted at https://stacker.news/items/648298
-
2024-08-14 11:15:27
>It's wild. I just proved I can build #nostr 'wallet' where I can store the encrypted tokens in a Germany relay and make the lightning payment out of a Singapore mint. All using a #nsec that never leaves my machine.
https://primal.net/e/note15l02rf4r474ck04mlrxxfagyl0z6t04ltsugf9dtph4xxhzfnd4sqpk74n
>I’ve proven to myself that a #nostr wallet can exist across time and space, independently of any one app, server or custodian. The only thing which controls the ‘wallet’ is the generation and control of an #nsec which is free to exist within or flee any jurisdiction.
>In my mind, this lays to rest the notion that a wallet needs to be an app, service, or anything that can be captured commercially or by the state. https://primal.net/e/note13nwsh852x9tfex2jade6vwymhhct8zussxr4zwy7uag24hjc9stq0xsxaf
https://image.nostr.build/07dd1b56d6bb60b13cfe6c19d9384bc3ef198d01af4be9a5c544f791b80b746a.png
>I am thinking about coining the term “nsac” to refer to a wallet-like thing that can exist on #nostr holding your valuable things, such as ecash tokens. I have already implemented a prototype #cashu ecash wallet which looks to be promising.
>So you would have:
#npub - your identity
#nsec - your private key
#nsac - your valuables
>Your #nsac could be the same as your #nsec but better case is to generate as many #nsacs as required.
>Happy to hear feedback!
>For reference, what a ‘sac’ is in the biological sense:
>A **sac** is a biological term referring to a pouch or cavity in an organism that is typically enclosed and may contain fluid, air, or other substances. Sacs can serve various functions depending on their location and role in the body, such as protecting a developing embryo, facilitating the exchange of gases in the lungs, or reducing friction between moving parts in joints
https://primal.net/e/note1snj7y9m6f7lhfzkd2ujzqcvparpgddzmgcgwsgghqvkcyd0rkqhsmmlyla
npub1q6mcr8tlr3l4gus3sfnw6772s7zae6hqncmw5wj27ejud5wcxf7q0nx7d5
Wild stuff freaks, will nostr become the best lightning/E-Cash wallet? Let me know what you think.
originally posted at https://stacker.news/items/648270
-
2024-08-14 11:13:30
# Usa PGP para enviar mensajes privados por telegram
![PGP](https://hyper.media/ipfs/bafkreier6nkhqv3yybj6zw4rmnbmdhy3w3iwgvu3g5wbcghidhhiytzliy)
PGP es una gran herramienta con la que podremos cifrar nuestras conversaciones en cualquier canal de comunicación. En esta publicación te mostraré la forma más rápida y sencilla para poder usar esta herramienta junto con telegram.
Te guiaré en unos pasos sencillos para disponer de todo lo necesario para comunicarte con tus contactos de forma privada.
Existen muchas formas de hacerlo, a continuación te enseñaré la mas sencilla en mi opinión, no necesitas conocimientos previos ¡¡Los irás adquiriendo practicando ¡¡
## Aplicaciones necesarias
### F-Droid
Es una store de aplicaciones open source para android, del cual descargaremos las aplicaciones que necesitamos.
![](https://hyper.media/ipfs/bafkreihmachqdcempj3imwgobc77y3ol3n2pf2byuor7pzoati3fhfw7lm)
Descarga : https://f-droid.org/F-Droid.apk
### Nekogram x
![](https://hyper.media/ipfs/bafkreich3wjgzc2vzzj26u452t5yfzlnfi7k6azkbnx5gw6nomtgke74ui)
Es un cliente de Telegram open source con funciones añadidas entre las que se encuentra la integración de PGP a través de Openkeychain.
La descarga e instalación la realizaremos desde F-droid.
https://github.com/NekoX-Dev/NekoX
### Openkeychain
![OpenKeyChain: Easy PGP](https://hyper.media/ipfs/bafkreidm475b4o5yscw37zxcykttpvj6xjnku7u6rtjjw5on2o5kwc6x64)
Aplicación para android con el estandar OpenPGP . Con Openkeychain se hace muy sencilla La creación de claves PGP y su uso integrado con Nekogram facilita sus uso.
La descarga e instalación la realizaremos desde F-droid.
## Guía para comunicarte de forma privada con tu contraparte
### Creación de clave con openkeychain
![](https://hyper.media/ipfs/bafkreigx7yp2mdlt2jyd4klafibhbq4avr3smvssgemeor2kul5gekep7a)
![](https://hyper.media/ipfs/bafkreia3avm2g5eiwg2opsotkwqaslwy6gvlyycqbasjwqmucim4ljslne)
Te pedirá que introduzcas un nombre para identificar la clave y un correo electrónico (puedes poner uno inventado). Haz click en crear clave.
![](https://hyper.media/ipfs/bafkreia3i5mpmjvizsgu5sfh6r4jfmjqyvildpfvnzmm5ll5vsbf5vmlum)
Podrás ver tus claves almacenadas.
![](https://hyper.media/ipfs/bafkreidia7bkczjqmdvdkxbubk3jb5ekbwqlym3ewsv6u2v6tqmzb3t57i)
### Compartir tu clave pública con el receptor
Una vez creada tu clave, ve al chat en Nekogram con quien vas a compartir tu clave pública, haz click en los 3 puntitos de la esquina superior en el chat.
![](https://hyper.media/ipfs/bafkreia7dwhjb5mzh67y7oan4vohq4n6o6labsotmgx6hd45rzmzdtr3k4)
Elige tu clave y se compartirá en el chat de tu contacto.
![](https://hyper.media/ipfs/bafkreicqud4fxgqnbfvseqkp45lug7nnglird3744lrp4y65fgu34ju6ci)
![](https://hyper.media/ipfs/bafkreibmt4vhws5tqyazq4k65xg2udzkqvcswzuocal5gj47fogdcpsc4m)
### Importar clave pública de mi contacto
Necesitas la clave pública de tu contacto para poder cifrar la información y que solo el pueda descifrarla con su clave privada.
Pídele a tu contacto que te envíe su clave pública (si no sabe comparte esta guía)para que te la envíe al chat de telegram.
Haz click sobre el mensaje con la clave pública y pincha en importar clave.
![](https://hyper.media/ipfs/bafkreiazzerrwy6g5skn6ztbc6k65u565m5x7g4wim5wkzih3uuwlu6vxu)
Se abrirá openkeychain y le daremos a importar.
![](https://hyper.media/ipfs/bafkreifvfhgjv2rmiddio6csr2xgtsd5wiyo4h42ve36ts5ckbq4vbfqbe)
Y aparecerá almacenada junto con tu clave.
![](https://hyper.media/ipfs/bafkreibljxscawqiqllfgckwnywxa3yb33rp3wsmqfuor2sdh2zypb3rwe)
### Cifrar mensaje con la clave pública de mi contacto
Una vez creada tu clave e importada la clave pública de tu contacto ya tienes todo para poder cifrar y descifrar los mensajes que os enviéis.
En Openkeychain abre el menu pinchando en las 3 rayas horizontales en la esquina superior derecha. le das a cifrar/descifrar.
![](https://hyper.media/ipfs/bafkreibzicmcfpkgzsklziddrlp74pkjurvtcx3n4lmagnhsvavfy5wkma)
Elige cifrar texto
![](https://hyper.media/ipfs/bafkreiazbxii65ojr5fzyh2gc2wlr4xcwpnrrlmjjmfxtro3ppf572xnme)
En cifrar para : la calve de tu contacto.
En firmar con : tu clave
Escribe el texto que quieres cifrar y lo copias o comparte pinchando en los símbolos de arriba.
![](https://hyper.media/ipfs/bafkreicgedsmsye4zrvzjg7hvtkmvrdjppxmwd2aaycfrmtil4u3icofcy)
Pegalo en el chat del contacto
![](https://hyper.media/ipfs/bafkreic3htdkvttd2imqsj5ln65isi5vhmbp6sbb3lrjzsnom3oluik45u)
mensaje cifrado, telegram no puede ver el mensaje que contiene.
### Descifrar un mensaje en Nekogram
Podremos descifrar un mensaje cuando el emisor lo haya cifrado con nuestra clave pública.
Es tan sencillo como pinchar en el mensaje cifrado y darle a descifrar mensaje en la pantalla que sale. Te llevará a Openkeychain.
![](https://hyper.media/ipfs/bafkreifzygvrwz2fvkbneagi4hldxr2cyx3qswldkcwcml3thguvs7742a)
Se abrira Openkeychain y te mostrará el mensaje descifrado.
![](https://hyper.media/ipfs/bafkreiaukcqfza5lszzhwhwetxse3cww2d43olyidoagm4li4vwovfgh6e)
## Conclusiones:
Hemos visto la manera más fácil para cifrar y descrifrar mensajes con quien quieras, gracias a Openkeychain y la integración de éste en Nekogram X hacen muy fácil mandar mensajes cifrados que solo tú y tu receptor podeis descifrar.
Este sistema se hace necesario usarlo para enviar información que no quiero que un tercero (servidores de telegram) sepa. Como cuando compartimos información personal, o direcciones de bitcoin para no vincularla a tu cuenta de telegram, etc.
Ya no tienes excusa para hacer uso de tu privacidad y revelarla selectivamente a quien desees.