-
@ b8851a06:9b120ba1
2025-02-22 19:43:13The digital guillotine has fallen. The Bybit hack wasn’t just a theft—it was a surgical strike exposing the fatal flaw of “crypto” that isn’t Bitcoin. This wasn’t a bug. It was a feature of a system designed to fail.
Here’s how North Korea’s Lazarus Group stole $1.5B in ETH, why “decentralized finance” is a joke, and how Bitcoin remains the only exit from this circus.
I. The Heist: How Centralized “Crypto” Betrayed Its Users
A. The Multisig Mousetrap (Or: Why You’re Still Using a Bank)
Bybit’s Ethereum cold wallet used multisig, requiring multiple approvals for transactions. Sounds secure, right? Wrong. • The Con: Hackers didn’t pick the lock; they tricked the keyholders using a UI masking attack. The wallet interface showed “SEND TO BYBIT”, but the smart contract was whispering “SEND TO PYONGYANG.” • Bitcoin Parallel: Bitcoin’s multisig is enforced on hardware, not a website UI. No browser spoofing, no phishing emails—just raw cryptography.
Ethereum’s multisig is a vault with a touchscreen PIN pad. Bitcoin’s is a mechanical safe with a key only you hold. Guess which one got robbed?
B. Smart Contracts: Dumb as a Bag of Hammers
The thieves didn’t “hack” Ethereum—they exploited its smart contract complexity. • Bybit’s security depended on a Safe.global contract. Lazarus simply tricked Bybit into approving a malicious upgrade. • Imagine a vending machine that’s programmed to take your money but never give you a soda. That’s Ethereum’s “trustless” tech.
Why Bitcoin Wins: Bitcoin doesn’t do “smart contracts” in the Ethereum sense. Its scripting language is deliberately limited—less code, fewer attack vectors.
Ethereum is a Lego tower; Bitcoin is a granite slab. One topples, one doesn’t.
II. The Laundering: Crypto’s Dirty Little Secret
A. Mixers, Bridges, and the Art of Spycraft
Once the ETH was stolen, Lazarus laundered it at lightspeed: 1. Mixers (eXch) – Obfuscating transaction trails. 2. Bridges (Chainflip) – Swapping ETH for Bitcoin because that’s the only exit that matters.
Bitcoin Reality Check: Bitcoin’s privacy tools (like CoinJoin) are self-custodial—no third-party mixers. You keep control, not some “decentralized” website waiting to be hacked.
Ethereum’s “bridges” are burning rope ladders. Bitcoin’s privacy? An underground tunnel only you control.
B. The $1.5B Lie: “Decentralized” Exchanges Are a Myth
Bybit’s “cold wallet” was on Safe.global—a so-called “decentralized” custodian. Translation? A website with extra steps. • When Safe.global got breached, the private keys were stolen instantly. • “Decentralized” means nothing if your funds depend on one website, one server, one weak link.
Bitcoin’s Answer: Self-custody. Hardware wallets. Cold storage. No trusted third parties.
Using Safe.global is like hiding your life savings in a gym locker labeled “STEAL ME.”
III. The Culprits: State-Sponsored Hackers & Crypto’s Original Sin
A. Lazarus Group: Crypto’s Robin Hood (For Dictators)
North Korea’s hackers didn’t break cryptography—they broke people. • Phishing emails disguised as job offers. • Bribes & social engineering targeting insiders. • DeFi governance manipulation (because Proof-of-Stake is just shareholder voting in disguise).
Bitcoin’s Shield: No CEO to bribe. No “upgrade buttons” to exploit. No governance tokens to manipulate. Code is law—and Bitcoin’s law is written in stone.
Ethereum’s security model is “trust us.” Bitcoin’s is “verify.”
B. The $3B Elephant: Altcoins Fund Dictators
Since 2017, Lazarus has stolen $3B+ in crypto, funding North Korea’s missile program.
Why? Because Ethereum, Solana, and XRP are built on Proof-of-Stake (PoS)—which centralizes power in the hands of a few rich validators. • Bitcoin’s Proof-of-Work: Miners secure the network through energy-backed cryptography. • Altcoins’ Proof-of-Stake: Security is dictated by who owns the most tokens.
Proof-of-Stake secures oligarchs. Proof-of-Work secures money. That’s why Lazarus can drain altcoin treasuries but hasn’t touched Bitcoin’s network.
IV. Bybit’s Survival: A Centralized Circus
A. The Bailout: Banks 2.0
Bybit took bridge loans from “undisclosed partners” (read: Wall Street vultures). • Just like a traditional bank, Bybit printed liquidity out of thin air to stay solvent. • If that sounds familiar, it’s because crypto exchanges are just banks in hoodies.
Bitcoin Contrast: No loans. No bailouts. No “trust.” Just 21 million coins, mathematically secured.
Bybit’s solvency is a confidence trick. Bitcoin’s solvency is math.
B. The Great Withdrawal Panic
Within hours, 350,000+ users scrambled to withdraw funds.
A digital bank run—except this isn’t a bank. It’s an exchange that pretended to be decentralized.
Bitcoin fixes this: your wallet isn’t an IOU. It’s actual money.
Bybit = a TikTok influencer promising riches. Bitcoin = the gold in your basement.
V. The Fallout: Regulators vs Reality
A. ETH’s 8% Crash vs Bitcoin’s Unshakable Base
Ethereum tanked because it’s a tech stock, not money. Bitcoin? Dropped 2% and stabilized.
No CEO, no headquarters, no attack surface.
B. The Regulatory Trap
Now the bureaucrats come in demanding: 1. Wallet audits (they don’t understand public ledgers). 2. Mixer bans (criminalizing privacy). 3. KYC everything (turning crypto into a surveillance state).
Bitcoin’s Rebellion: You can’t audit what’s already transparent. You can’t ban what’s unstoppable.
VI. Conclusion: Burn the Altcoins, Stack the Sats
The Bybit hack isn’t a crypto problem. It’s an altcoin problem.
Ethereum’s smart contracts, DeFi bridges, and “decentralized” wallets are Swiss cheese for hackers. Bitcoin? A titanium vault.
The Only Lessons That Matter:
✅ Multisig isn’t enough unless it’s Bitcoin’s hardware-enforced version. ✅ Complexity kills—every altcoin “innovation” is a security risk waiting to happen.
Lazarus Group won this round because “crypto” ignored Bitcoin’s design. The solution isn’t better regulations—it’s better money.
Burn the tokens. Unplug the servers. Bitcoin is the exit.
Take your money off exchanges. Be sovereign.
-
@ 1c1b8e48:0e4de5df
2025-02-19 13:14:21Mit "Bunker-Identität"\ - Bilder lassen sich nicht auf Mediaserver uploaden\ - Vorschau und Bearbeitung nicht möglich -> unpraktisch\ - Veröffentlichung nicht möglich -> korrekt
Paradox\ - Ansicht und Bearbeitung mit dem Profil rohe@nostr.band möglich \ - in Entwürfen von roland\@pareto.space nicht sichtbar -> Fehler
Resümee: Ziel mit dem gewählten Setting verfehlt
-
@ 6e0ea5d6:0327f353
2025-02-21 18:15:52"Malcolm Forbes recounts that a lady, wearing a faded cotton dress, and her husband, dressed in an old handmade suit, stepped off a train in Boston, USA, and timidly made their way to the office of the president of Harvard University. They had come from Palo Alto, California, and had not scheduled an appointment. The secretary, at a glance, thought that those two, looking like country bumpkins, had no business at Harvard.
— We want to speak with the president — the man said in a low voice.
— He will be busy all day — the secretary replied curtly.
— We will wait.
The secretary ignored them for hours, hoping the couple would finally give up and leave. But they stayed there, and the secretary, somewhat frustrated, decided to bother the president, although she hated doing that.
— If you speak with them for just a few minutes, maybe they will decide to go away — she said.
The president sighed in irritation but agreed. Someone of his importance did not have time to meet people like that, but he hated faded dresses and tattered suits in his office. With a stern face, he went to the couple.
— We had a son who studied at Harvard for a year — the woman said. — He loved Harvard and was very happy here, but a year ago he died in an accident, and we would like to erect a monument in his honor somewhere on campus.— My lady — said the president rudely —, we cannot erect a statue for every person who studied at Harvard and died; if we did, this place would look like a cemetery.
— Oh, no — the lady quickly replied. — We do not want to erect a statue. We would like to donate a building to Harvard.
The president looked at the woman's faded dress and her husband's old suit and exclaimed:
— A building! Do you have even the faintest idea of how much a building costs? We have more than seven and a half million dollars' worth of buildings here at Harvard.
The lady was silent for a moment, then said to her husband:
— If that’s all it costs to found a university, why don’t we have our own?
The husband agreed.
The couple, Leland Stanford, stood up and left, leaving the president confused. Traveling back to Palo Alto, California, they established there Stanford University, the second-largest in the world, in honor of their son, a former Harvard student."
Text extracted from: "Mileumlivros - Stories that Teach Values."
Thank you for reading, my friend! If this message helped you in any way, consider leaving your glass “🥃” as a token of appreciation.
A toast to our family!
-
@ 378562cd:a6fc6773
2025-02-22 18:29:35There was a time when I was a real person. I touched grass, read books made of actual paper, made eye contact with fellow humans, and didn’t panic when my pockets felt empty. Then came the screens. They infiltrated my life like a well-meaning but overly clingy houseguest who never leaves.
It started innocently enough: a quick email check, a couple of YouTube videos, and a little light doomscrolling. And then, before I knew it, my posture resembled a shrimp’s, my eyes had the dull glaze of a microwaved marshmallow, and I had unknowingly memorized the entire algorithm’s playlist of “Obscure Facts You’ll Never Need.”
I knew things had gone too far when I caught myself attempting to swipe left on a paperback book. Or when I instinctively tried to pinch-zoom on a restaurant menu, only to find it was printed. On paper. It's like some kind of ancient relic from the Dark Ages.
The worst part? I didn’t even know what I was doing half the time. One moment, I’d be looking up a recipe for lasagna. The next thing I knew, I was 47 minutes deep into a documentary on the mating habits of Alaskan walruses. And did I stop? Of course not. I needed to know how it ended! (Spoiler: The walruses were fine. My dinner was not.)
And don’t even get me started on notifications. Those little digital gremlins have mastered the art of ambush just as I’m about to put my phone down, DING! A breaking news alert! (Something mildly inconvenient happened in a country I can’t locate on a map.) DING! An email! (From a store I haven’t shopped at since 2014, reminding me they exist.) DING! A friend liked my post! (The one from three days ago. Thanks, Todd.)
So, I made a vow. I would reclaim my life. I would be strong. I would resist! I would—oh wait, just one more video. Then, for sure, I’ll log off. Probably. Maybe. Okay, fine, I need help.
Until then, I’ll be here, scrolling away, living my best shrimp-postured, screen-addicted life. If you need me, send a text just… not after 9 p.m. That’s when I’m deep in my nightly ritual of watching cooking videos I will never actually attempt.
I hope you enjoyed this sort of funny (in my own head) attempt at wittiness humor. I hope to make some aware of the actual real-life dangers though of too much screen time. We honestly have no idea of all the harm we are causing to our children. To our society. What happens when we all who have actually grown up playing in creeks, skipping rocks, or sitting outside and falling asleep while reading a real book pass away? What happens when those left have only known this screen-diseased life?
I pray we can go back, go way way back!
-
@ 9a4acdeb:1489913b
2025-02-16 18:26:58Chef's notes
Original recipe, a favorite of family and friends, and the easiest and fastest prep time meal I make. Like all really good pork recipes, it does take time in the cooker, but it's set-and-forget and requires no attention between starting and serving.
Using fresh herbs and peppers does enhance the meal (especially fresh cilantro if it doesn't taste like soap to you), but this is optional, and it is excellent with dry ingredients.
Excluding the beans and/or tomato makes this meal extra-low carb for those carnivores amongst us, or those sensitive to beans. Frying the shredded cheese in a slick pan is a good way to
It will take up to 15min to come up to pressure, so it may be helpful to pay attention to it to be sure it pressurizes until you become familiar with how this meal acts in your particular pressure cooker. The Instant Pot pressure cookers make this easy.
Details
- ⏲️ Prep time: 20min
- 🍳 Cook time: 2hrs
- 🍽️ Servings: 6
Ingredients
- 4lbs Pork loin
- 1-2 Yellow onion, roughly chopped
- 3-5 Jalapeños or 1x 4oz canned
- 6-8 Green chilis or 1x 4oz canned
- 2oz canned sliced Black olives (may use half a 4oz can)
- 2-3tsp minced garlic, or 1-2 tsp garlic powder
- A small bunch of cilantro, chopped, or 1-2 tsb dried cilantro (optional)
- 1tbsp Oregano, chopped fresh or dried
- 2-3tsb Chili powder; Ancho, Chipotle, or a blend of the two is best
- 2-3tsb ground Cumin
- 3-4tsp salt
- 2-tsp black pepper
- 1 large or 4oz canned tomato (optional)
- Mexican mix shredded cheese (topping)
- 4oz Black beans (optional)
- Tortillas (optional)
- Avocado (optional toping)
- 6 Limes and/or 3oz lime juice
Directions
- Mix dry seasonings
- Chop and mix fresh herbs and veggies, canned or otherwise
- Add chopped onion to bottom of pressure cooker
- Add pork loin atop the onion; chopping into steaks may make the texture better
- Add veggies to the top, shaking to settle into the pressure cooker
- Add lime juice
- Start on high pressure for 2hrs.
- (Optional) Drain the broth into a saucepan, cook down, and add back into the mix to make it extra flavorful. Otherwise, can be served as a soup or poured over rice.
- Serve with cheese as a topping, over rice, in a tortilla as tacos or burritos, or in a number of other fashions you may fancy. Those who prefer a little more lime may squeeze fresh or splash some more on their meal.
- (Optional) For presentation, garnish with cilantro and lime slices, maybe a dollop of shredded cheese, sour cream, or cream cheese.
-
@ 4857600b:30b502f4
2025-02-20 19:09:11Mitch McConnell, a senior Republican senator, announced he will not seek reelection.
At 83 years old and with health issues, this decision was expected. After seven terms, he leaves a significant legacy in U.S. politics, known for his strategic maneuvering.
McConnell stated, “My current term in the Senate will be my last.” His retirement marks the end of an influential political era.
-
@ cff1720e:15c7e2b2
2025-02-22 17:45:48Trumps Antrittsrede, seine Präsidentenerlasse, Personalentscheidungen und Amtshandlungen hatten schon in kurzer Zeit die Konturen der künftigen US-Außenpolitik erkennen lassen. Aber in München sprach der Vizepräsident auf einer bedeutenden Konferenz direkt zu den Europäern, den “Partnern” und “Verbündeten”. Und was er ihnen in aller Deutlichkeit mitteilte, war nichts anderes als eine 180-Grad Kehrtwende zur Politik der Vorgänger-Regierung. Die Botschaft war kein Vorschlag, sondern eine Ansage, die Inhalte sind inzwischen hinlänglich bekannt. Obwohl die Rede erwartungsgemäß mehr als reichlich kommentiert wurde, möchte ich noch einige Aspekte ergänzen, die ich bisher in den Kommentaren vermisst habe.
Im November 1988 wurde die Auslieferung der sowjetischen Zeitschrift “Sputnik” in der DDR gestoppt, was einem Verbot gleichkam. Der Anlaß waren kritische Betrachtungen über Stalin und Berichte über den Hitler-Stalin-Pakt, den es laut DDR-Geschichtsschreibung nicht gab. Es war eine Zensur von Informationen aus dem Land des “großen Bruders”, der Führungsmacht der sozialistischen Welt. Das Diktum “von der Sowjetunion lernen heißt siegen lernen” galt erkennbar nicht mehr. Das war zugleich der Höhepunkt einer ideologischen Entfremdung die 1986 begonnen hatte, als Gorbatschow “Glasnost” (Offenheit) und “Perestroika” (Reformen) einforderte, welche von der vergreisten DDR-Führung als unnötig und gefährlich abgelehnt wurden. Gorbatschow hatte richtig erkannt, dass die sozialistischen Staaten ökonomisch und gesellschaftlich gescheitert waren und ohne Reformen nicht überleben würden. Die Einsicht kam aber zu spät, die DDR kollabierte bereits ein Jahr später an ihrem Reformstau, die UdSSR Ende 1991 trotz der begonnenen Reformversuche.
Die Parallelen sind unverkennbar, eklatante politische Fehler (u.a. Euro seit 2009 und Migration seit 2015) haben die EU-Staaten zunächst zu Sanierungsfällen gemacht, durch die Corona-Politik zu Insolvenzkandidaten. Der Rubikon ist längst überschritten, die Schönwetter-Union ist nicht mehr zu retten. Den Amerikanern ist das klar, daher sind die Reform-Appelle von Vance wohl eher seiner Höflichkeit zuzurechnen. Für die US-Regierung ist die EU bereits jetzt nicht mehr existent, Verträge werden wieder direkt mit den Mitglieds-Staaten getroffen, und in den Ukraine-Verhandlungen ist kein Platz am Verhandlungstisch. Die Themenbereiche bei den Gesprächen in Riad haben aber auch gezeigt, dass Amerikaner und Russen in global-strategischen Dimensionen denken, die Ukraine ist zurecht nur ein Randthema. Die aktuelle Rhetorik europäischer Politiker hingegen ist niveaulos und kleinkariert, man spielt in der 2. Liga, die EU hat sich selbst vom Akteur zum Objekt degradiert.
Was bedeutet das für unsere Zukunft? Und was ist von der neuen US-Führung zu erwarten? Die unsäglichen Diskussionen darüber ob nun Trump und Musk gut oder böse sind, vernebelt nur eine klare Tatsache. Die EU hat keinen Rückhalt mehr vom “großen Bruder”, weder durch die NATO in Sachen Ukraine, noch durch Zensur von Systemkritikern (USAID, BigTech). Letzteres führt zu drei fundamentalen Veränderungen.\ \ 1. Das Narrativ von den “westlichen Werten” ist tot. Auf diesem Axiom der USA basierte die gesamte Propaganda-Maschine, es wurde zur Religion. Nun versuchen gerade Provinzpolitiker wie Pistorius und Habeck mit beschränkten rhetorischen Mitteln zu definieren was “westliche Werte” ohne die USA sind, was mehr für Begeisterung bei Satirikern beiträgt als zur Überzeugung von Tagesschau-Anhängern.\ \ 2. Die Deutungshoheit geht verloren weil immer mehr Publizisten ihr Fähnchen in den sich drehenden Wind hängen, sofern sie noch von Leser-Abos und Werbekunden abhängig sind. Die einsetzende Kakophonie verwirrt die Masse der schlichten Medien-Konsumenten, die über Jahrzehnte auf Nachrichten-Konformität dressiert worden sind. \ \ 3. Weniger Zensur in den sozialen Medien verschafft den kritischen Stimmen mehr Reichweite, “bedrohliche” Meinungsvielfalt entsteht. Leider können die meisten Kritiker aber nur kritisieren, was uns zurück in die Zeiten des Sputnik-Verbots führt.
Die DDR-Opposition hat beim Abriss der DDR mitgewirkt, über diese Rolle ist sie aber nie hinaus gekommen. Als die Mauer gefallen war und es um die Neugestaltung ging, hat sie kläglich versagt. Dem Großteil der heutigen Opposition droht das selbe Schicksal, weil sie keinen Plan für die Stunde Null hat. Bei Tauwetter darf man nicht mehr über den Winter diskutieren, sondern über das Bestellen der Felder. Wer die Saat ausbringt, entscheidet über die Ernte. Den Kollaps betreffend ist nur noch der Zeitpunkt unklar, für den Zeitraum danach jedoch alles. Wenn wir uns eine Bürgergesellschaft wünschen, dann müssen wir jetzt als Bürger aktiv werden, also DU, Leser. Spende für Pareto, oder für kritische Autoren und Aktivisten. Mach Dir Gedanken über die Zukunft und publiziere sie, hier auf Pareto, wir fördern den Bürger-Journalismus. Schließe Dich einem Projekt an, leiste einen Beitrag und gestalte die Zukunft. Macht wird nicht verteilt, Macht muss man sich erkämpfen.\ \ “Nur der verdient sich Freiheit wie das Leben, der täglich sie erobern muß.” Goethe, Faust Teil 2
Spenden für Pareto: https://geyser.fund/project/pareto
Pareto Landing Page: https://pareto.space
Pareto Marktplatz: https://pareto.space/read
-
@ 8be6bafe:b50da031
2025-02-05 17:00:40Botev Plovdiv FC is proud to present the Bitcoin Salary Calculator tool, as the foundational tool to showcase athletes the financial power of Bitcoin.
We built the Salary Calculator to help anyone follow in the financial footsteps of prominent athletes such as Kieran Gibbs, Russell Okung, Saquon Barkley, and Renato Moicano, who have significantly increased their savings tank thanks to Bitcoin.
The Bitcoin Salary Calculator allows any person to choose how much of their monthly salary they are comfortable saving in Bitcoin. Instantly, users can backtrack and see how their Bitcoin savings would have performed using the once-in-a-species opportunity which Bitcoin brings.
https://video.nostr.build/a9f2f693f6b5ee75097941e7a30bfc722225918a896b29a73e13e7581dfed77c.mp4
Athletes need Bitcoin more than anyone else
Unlike most people, athletes’ careers and earning years are limited. This has driven the likes of Odell Beckham Jr. and Alex Crognale to also start saving a part of their income in Bitcoin with a long-term outlook as they prepare for retirement.
“The reason why announced 50% of my salary in Bitcoin is because I feel one the noblest things you can do is to get people to understand Bitcoin.” Kieran Gibbs, founder ONE FC, ex Arsenal, ex Inter Miami, ex West Bromich Albion.
“I am trusting Bitcoin for my life after football. Every time my club paid me, I bought Bitcoin.” Alex Crognale, San Antonio FC player.
https://x.com/TFTC21/status/1883228348379533469
“At Botev Plovdiv FC, we believe not only in fostering sporting talent, but also helping them the the most of their careers so they excel in life after retiring from sports. It is with this mission in mind that the club is launching the Bitcoin Football Cup hub, striving to accelerate mass Bitcoin education via sports and athletes - the influencers and role models for billions of people.” shared Botev’s Bitcoin Director George Manolov.
https://x.com/obj/status/1856744340795662432
The Bitcoin Football Cup aims for young prospects to be able to learn key financial lessons from seasoned veterans across all sports. Our Bitcoin Salary Calculator is only the first step toward that goal.
We encourage anyone to hear these stories straight from the current roster of Bitcoin athletes -for whom -in many cases- Bitcoin has allowed them to outperform the wealth it took decades to earn on the field.
Follow us on the Bitcoin Cup’s social media channels to learn more and hear the latest stories of how Bitcoin is shaking up the world of sports:
- Twitter: https://x.com/Bitcoin_Cup/
- Instagram: https://www.instagram.com/BitcoinCup/
- TikTok: https://www.tiktok.com/@BitcoinCup/
- YouTube: https://www.youtube.com/@BitcoinCup/
-
@ a012dc82:6458a70d
2025-02-22 15:51:37Bitcoin, the pioneering cryptocurrency, has always been known for its volatility. This digital asset has seen dramatic fluctuations in price, attracting investors and speculators alike. Understanding these price movements is crucial for anyone involved in the crypto market. The journey of Bitcoin from a niche digital token to a mainstream financial asset has been marked by periods of rapid growth and sudden declines. This volatility is not just a source of risk, but also of potential opportunity for traders and investors. The factors driving these fluctuations range from regulatory news, technological advancements, to broader economic factors. Bitcoin's decentralized nature adds to its unpredictability, as it operates independently of a central bank or government.
Table of Contents
-
The Recent Price Rally and Subsequent Halt
-
Insights from CryptoQuant's Analysis
-
The Role of Short-Term Holders
-
Understanding Bitcoin Binary Coin Days Destroyed ( …
-
The Dynamics of Profit-Taking
-
Actions by Miners and Whales
-
Current Market Scenario and Future Outlook
-
Conclusion
-
FAQs
The Recent Price Rally and Subsequent Halt
In a recent surge, Bitcoin's value soared past the $44,000 mark, only to encounter a significant resistance level near $45,000. This resistance led to a notable decline in its price. The question on everyone's mind is: what caused this sudden halt in Bitcoin's otherwise steady climb? This rally, like many in Bitcoin's past, was driven by a mix of investor optimism, favorable market conditions, and increasing institutional interest in cryptocurrency. However, the resistance at $45,000 proved to be a turning point, sparking a wave of sell-offs and profit-taking. This price behavior is a classic example of the market's psychological dynamics, where key resistance levels can lead to significant shifts in investor behavior. The rapid change from a bullish to a bearish market sentiment at this juncture underscores the fragile and speculative nature of the cryptocurrency market.
Insights from CryptoQuant's Analysis
CryptoQuant, a renowned market analytics platform, offers valuable insights into this phenomenon. An analyst from CryptoQuant, Yonsei, conducted a detailed analysis of on-chain data to unravel the mystery behind Bitcoin's recent price behavior. This analysis goes beyond surface-level market trends, delving into the intricate movements of Bitcoin across various wallets and exchanges. By examining metrics such as fund flows, wallet activities, and transaction patterns, CryptoQuant provides a more nuanced understanding of what drives Bitcoin's price changes. Yonsei's analysis, in particular, sheds light on the behavior of different investor cohorts, revealing how their actions collectively impact the market. This kind of deep-dive analysis is essential for anyone looking to understand the often opaque mechanisms of cryptocurrency markets.
The Role of Short-Term Holders
The analysis revealed that short-term holders, particularly those who had invested in Bitcoin for a period ranging from 6 to 18 months, started to realize their profits as soon as Bitcoin broke through the $40,000 resistance level. This profit-taking was a primary factor in the subsequent price retraction. These short-term holders, often more sensitive to market fluctuations, tend to react quickly to price changes, looking to capitalize on short-term gains. Their collective actions can create significant market movements, as seen in this instance. The behavior of these investors is often influenced by news events, market sentiment, and technical indicators. In this case, the rapid rise in Bitcoin's price likely triggered a psychological response to lock in profits, leading to a cascade of sell orders. Understanding the motivations and behaviors of these short-term holders is crucial for predicting short-term market movements in the volatile world of cryptocurrency.
Understanding Bitcoin Binary Coin Days Destroyed (CDD)
A critical metric in this analysis is the Bitcoin Binary Coin Days Destroyed (CDD). This metric assesses the movement of long-held Bitcoins, providing insights into the behavior of long-term investors. An increase in Binary CDD indicates that a significant amount of Bitcoin, held dormant for a long time, has been mobilized, suggesting a sell-off by long-term holders. This metric is particularly important as it highlights the actions of the most steadfast part of the market - those who have held Bitcoin through various cycles. When these long-term holders start moving their coins, it often signals a significant shift in market sentiment. The CDD metric thus serves as a barometer for the conviction of Bitcoin's long-term investor base. A high CDD can indicate a loss of confidence among these investors, or a belief that the market has reached a peak. Conversely, a low CDD suggests that long-term holders are not yet ready to sell, indicating continued confidence in the market's future.
The Dynamics of Profit-Taking
The CryptoQuant analysis further highlighted that a majority of Bitcoin holders were in profit, with the Spent Output Profit Ratio remaining above one. This indicated that about 90% of Bitcoin holders were profiting, which naturally led to a trend of profit-taking. This phenomenon is a key aspect of market cycles in cryptocurrencies. When a large portion of investors are in profit, especially after a significant price rally, the market often sees a wave of selling as investors look to cash in on their gains. This behavior is compounded by psychological factors, such as fear of missing out (FOMO) and fear, uncertainty, and doubt (FUD), which can lead to rapid shifts in market sentiment. Additionally, the profit-taking trend is influenced by external factors such as global economic conditions, regulatory news, and technological developments within the blockchain space. These factors can either reinforce the confidence of investors, leading to a hold strategy, or trigger a sell-off in anticipation of a market downturn.
Actions by Miners and Whales
Another interesting aspect of the analysis was the behavior of Bitcoin miners and whales (large-scale holders). These groups also contributed to the selling pressure. Miners, in particular, sold their assets at high-profit margins when Bitcoin reached its peak, adding to the downward pressure on its price. The actions of miners are crucial to understanding Bitcoin's market dynamics, as they are not only investors but also the producers of new Bitcoins. Their decision to sell or hold can significantly impact the supply of Bitcoin in the market. Whales, or large-scale holders, have a similar impact due to the sheer volume of their transactions. Their trades can lead to substantial market movements, creating waves that affect smaller investors. The behavior of these whales often reflects a more strategic approach to the market, influenced by long-term trends and broader market analysis. Their actions can serve as indicators for future market movements, making their behavior a key focus for analysts and investors alike.
Current Market Scenario and Future Outlook
Despite the recent price drop, the overall market sentiment remains positive. The bear market seems to be in the past, and liquidity conditions in the crypto market are improving. However, Bitcoin currently hovers around the $41,000 mark, a slight decrease from its recent high. This current state reflects the ever-changing nature of the cryptocurrency market, where investor sentiment can shift rapidly. The future outlook for Bitcoin remains a topic of much debate among experts. Some predict continued growth as institutional adoption increases and blockchain technology becomes more integrated into mainstream finance. Others caution about potential regulatory clampdowns and the volatile nature of the market. What remains clear is that Bitcoin continues to be a key player in the financial world, with its price movements being a barometer for the health and sentiment of the broader cryptocurrency market.
Conclusion
Bitcoin's market behavior, as analyzed by CryptoQuant, offers a complex picture of various factors at play. The interplay between short-term and long-term holders, the strategic moves of miners and whales, and the overall market sentiment all contribute to the price dynamics of this digital currency. Understanding these elements is key for investors and enthusiasts who wish to navigate the volatile waters of Bitcoin's market. As the crypto landscape continues to evolve, keeping a close eye on these trends and analyses will be crucial for making informed decisions in the world of cryptocurrency. The insights provided by platforms like CryptoQuant are invaluable in this regard, offering a deeper understanding of the market forces at work.
FAQs
What caused the recent halt in Bitcoin's price rally? The halt in Bitcoin's price rally, after reaching near $45,000, was primarily due to profit-taking by short-term holders and investors who had held Bitcoin for 6-18 months, as revealed by CryptoQuant's analysis.
What is Bitcoin Binary Coin Days Destroyed (CDD)? Bitcoin Binary Coin Days Destroyed (CDD) is a metric that measures the movement of long-held Bitcoins. It indicates the amount of Bitcoin, held dormant for a long time, that has been mobilized or sold.
How do miners and whales influence Bitcoin's price? Miners and whales (large-scale holders) significantly influence Bitcoin's price through their actions. When they sell their holdings, especially during peak prices, they add to the market's selling pressure, potentially leading to price drops.
What does a high Bitcoin Binary CDD indicate? A high Bitcoin Binary CDD suggests that a large amount of long-held Bitcoin is being sold, which can be a sign of long-term holders losing confidence or deciding to take profits.
Is the current market sentiment for Bitcoin positive or negative? Despite recent price fluctuations, the overall market sentiment for Bitcoin remains cautiously positive, with improvements in market liquidity and interest from institutional investors.
That's all for today
If you want more, be sure to follow us on:
NOSTR: croxroad@getalby.com
Instagram: @croxroadnews.co
Youtube: @croxroadnews
Store: https://croxroad.store
Subscribe to CROX ROAD Bitcoin Only Daily Newsletter
https://www.croxroad.co/subscribe
DISCLAIMER: None of this is financial advice. This newsletter is strictly educational and is not investment advice or a solicitation to buy or sell any assets or to make any financial decisions. Please be careful and do your own research.
-
-
@ 1cb14ab3:95d52462
2025-02-04 22:17:27Chef's notes
Credit to The Yummy Life. Go show them love below: https://www.theyummylife.com/Pickled_Jalapeno_Peppers
Details
- ⏲️ Prep time: 1 hour
- 🍳 Cook time: 20 mins
- 🍽️ Servings: 4 mason jars (pint)
Ingredients
- 2 lbs. jalapenos
- 2-1/4 cups vinegar (white distilled, apple cider, or a combination of the two)
- 2-1/4 cups water
- 2 tablespoons sugar or honey (optional)
- ADD TO EACH PINT JAR
- 1/2 teaspoon kosher salt
- 1/2 teaspoon whole black pepper corns
- 1/4 teaspoon whole cumin seeds
- 1/4 teaspoon whole coriander seeds
- 1 bay leaf
- 1 whole garlic clove, peeled
- 1/8 teaspoon Pickle Crisp granules (optional)
Directions
- Slice 1/2 pound jalapenos into 1/8" rounds, discarding stem ends.
- Prepare the jars: Wash 4 pint jars and lids in hot sudsy water, then keep them warm.
- Prepare the pickling liquid: Combine 1/2 cup plus 1 tablespoon vinegar, 1/2 cup plus 1 tablespoon water, and 1-1/2 teaspoons sugar or honey (optional) in a 2 quart pan, heating until just before boiling.
- Fill the jars: Add jalapeno slices to each jar, pressing them down and packing them in compactly, then pour the hot pickling liquid into each jar, leaving 1/2" head space.
- Process and store: Allow jars to cool to room temperature, then store them in the refrigerator or can them using standard USDA water process canning procedures, following storage guidelines for refrigerator or canned pickled peppers.
-
@ 1739d937:3e3136ef
2025-02-22 14:51:17We've been busy. In my last update, I shared that I was sure MLS on Nostr was going to work and shared an early demo of the app. What a long time ago that seems now.
The big news is that White Noise is no longer just a demo. It's a real app. You can download the alpha release and run it for yourself on MacOS, Linux, or Android. iOS TestFlight is coming soon. Keep in mind that it's still very much alpha software; a lot is changing and I wouldn't recommend using it for anything serious quite yet.
We've been busy. In my last update, I shared that I was sure MLS on Nostr was going to work and shared an early demo of the app. What a long time ago that seems now.
Vision
Before we get to the detailed project updates, I wanted to share a bit of my vision for White Noise.
More and more; freedom of speech, freedom of association, and privacy are under attack. Just this week, Apple was forced to remove their iCloud advanced encryption feature for all UK citizens because the UK government demanded that Apple build a backdoor to allow access to customer data. The EU continues to push "Chat Control" legislation that would force companies to remove end-to-end encryption from their platforms. And governments across the world are enforcing draconian "hate speech" laws that criminalize speech that offends or upsets.
The freedom to express ourselves and discuss difficult topics is a critical precondition for maintaining a healthy society. Without the ability to assert ideas and argue their merits vigorously we have no way of making progress or creating a civil society based on shared values and goals. Ironically, the very laws and regulations that many western governments are enforcing to "protect" us are eroding and destroying the most free and innovative societies in history.
White Noise is to built to protect our freedom to gather, to express ourselves, and to discuss difficult topics. It's free and open source; anyone can fork the code and we'll never charge money to use it. It runs on a free and open source protocol; your identity and social graph is yours to own and control. You don't have to trust us with your data, everything is end-to-end encrypted and metadata is next to non-existent. We don't even run any servers, so government data requests will forever fall on deaf ears.
We want to build the fastest, most secure and private, and the most usable messenger in the world. Whether you want to use it to plan a family BBQ or overthrow a tyrant, White Noise should give you the tools you need to make it happen.
If you find this compelling and want to help, please consider contributing to the project or donating.
Progress
Alright, let's talk about where we're at with the project.
Current functionality
- Multiple accounts. You can login, or create, many different Nostr accounts in the app.
- Search your nostr contact list, search for users you don't follow, or add contacts using an npub or hex public key.
- Create DM groups. Right now, you can only create chats with a single other user. Under the hood, these DMs are actually groups, I just haven't added the UI for adding/removing users and managing the group.
- Send messages, reply to messages, and add reactions. As you would expect from a messenging app.
- View group information.
- Settings that allows you to manage your accounts, relays, and other app settings.
Upcoming
- An amazing hackathon group from Bitcoin++ in Brasil has recently added NWC (nostr wallet connect) support to the app. Paste lightning invoices into chats and they'll become QR codes that you can scan or pay them with a single click in the conversation! This will be in the next release.
- Add support for encrypted media in chats using Blossom. We'll start with images, but plan to add video, audio messages, and documents soon.
- Groups with more than two users. We'll add the ability to add/remove users and manage the group. This will also include some upgrades to further improve the forward secrecy of group chats.
- iOS TestFlight. Gated app stores suck. We'll get White Noise on iOS into TestFlight as soon as possible.
Links
-
@ 1cb14ab3:95d52462
2025-02-04 21:42:24Chef's notes
Classic beef n' broccoli. Easy to make and dank to eat.
Details
- ⏲️ Prep time: 20 mins
- 🍳 Cook time: 10 mins.
Ingredients
- 1 lb top sirloin steak, thinly sliced
- ¼ cup low sodium soy sauce
- 2 teaspoons cornstarch
- 1 tablespoon dark brown sugar
- 2 tablespoons fresh ginger, minced
- 1 tablespoon oil
- 1 head broccoli, cut into 1-inch (2 ½ cm) florets
- ½ cup water
- 3 cloves garlic, minced
- ¼ teaspoon red pepper flakes, optional
- 1 teaspoon toasted sesame oil
Directions
- In a medium bowl, mix together the sirloin steak, soy sauce, cornstarch, brown sugar, and ginger until the meat is evenly covered in the marinade. Set aside to marinate for 20 minutes.
- Heat the oil in a large skillet or wok over medium-high heat. Dump in the meat and marinade and sear each side until golden brown. Transfer the meat to a clean bowl and set aside.
- Place the broccoli into the hot skillet and sauté until the broccoli has just started to brown, about 1 minute. Pour the water into the skillet and immediately cover with a lid. Let it steam for 2 minutes, until the broccoli has softened.
- Remove the lid and toss in the garlic, red pepper flakes, and sesame oil. Sauté until the garlic becomes fragrant, about 30 seconds.
- Add the steak back into the pan and stir to combine. Remove from heat and serve on a bed of brown rice.
-
@ 94a6a78a:0ddf320e
2025-02-19 21:10:15Nostr is a revolutionary protocol that enables decentralized, censorship-resistant communication. Unlike traditional social networks controlled by corporations, Nostr operates without central servers or gatekeepers. This openness makes it incredibly powerful—but also means its success depends entirely on users, developers, and relay operators.
If you believe in free speech, decentralization, and an open internet, there are many ways to support and strengthen the Nostr ecosystem. Whether you're a casual user, a developer, or someone looking to contribute financially, every effort helps build a more robust network.
Here’s how you can get involved and make a difference.
1️⃣ Use Nostr Daily
The simplest and most effective way to contribute to Nostr is by using it regularly. The more active users, the stronger and more valuable the network becomes.
✅ Post, comment, and zap (send micro-payments via Bitcoin’s Lightning Network) to keep conversations flowing.\ ✅ Engage with new users and help them understand how Nostr works.\ ✅ Try different Nostr clients like Damus, Amethyst, Snort, or Primal and provide feedback to improve the experience.
Your activity keeps the network alive and helps encourage more developers and relay operators to invest in the ecosystem.
2️⃣ Run Your Own Nostr Relay
Relays are the backbone of Nostr, responsible for distributing messages across the network. The more independent relays exist, the stronger and more censorship-resistant Nostr becomes.
✅ Set up your own relay to help decentralize the network further.\ ✅ Experiment with relay configurations and different performance optimizations.\ ✅ Offer public or private relay services to users looking for high-quality infrastructure.
If you're not technical, you can still support relay operators by subscribing to a paid relay or donating to open-source relay projects.
3️⃣ Support Paid Relays & Infrastructure
Free relays have helped Nostr grow, but they struggle with spam, slow speeds, and sustainability issues. Paid relays help fund better infrastructure, faster message delivery, and a more reliable experience.
✅ Subscribe to a paid relay to help keep it running.\ ✅ Use premium services like media hosting (e.g., Azzamo Blossom) to decentralize content storage.\ ✅ Donate to relay operators who invest in long-term infrastructure.
By funding Nostr’s decentralized backbone, you help ensure its longevity and reliability.
4️⃣ Zap Developers, Creators & Builders
Many people contribute to Nostr without direct financial compensation—developers who build clients, relay operators, educators, and content creators. You can support them with zaps! ⚡
✅ Find developers working on Nostr projects and send them a zap.\ ✅ Support content creators and educators who spread awareness about Nostr.\ ✅ Encourage builders by donating to open-source projects.
Micro-payments via the Lightning Network make it easy to directly support the people who make Nostr better.
5️⃣ Develop New Nostr Apps & Tools
If you're a developer, you can build on Nostr’s open protocol to create new apps, bots, or tools. Nostr is permissionless, meaning anyone can develop for it.
✅ Create new Nostr clients with unique features and user experiences.\ ✅ Build bots or automation tools that improve engagement and usability.\ ✅ Experiment with decentralized identity, authentication, and encryption to make Nostr even stronger.
With no corporate gatekeepers, your projects can help shape the future of decentralized social media.
6️⃣ Promote & Educate Others About Nostr
Adoption grows when more people understand and use Nostr. You can help by spreading awareness and creating educational content.
✅ Write blogs, guides, and tutorials explaining how to use Nostr.\ ✅ Make videos or social media posts introducing new users to the protocol.\ ✅ Host discussions, Twitter Spaces, or workshops to onboard more people.
The more people understand and trust Nostr, the stronger the ecosystem becomes.
7️⃣ Support Open-Source Nostr Projects
Many Nostr tools and clients are built by volunteers, and open-source projects thrive on community support.
✅ Contribute code to existing Nostr projects on GitHub.\ ✅ Report bugs and suggest features to improve Nostr clients.\ ✅ Donate to developers who keep Nostr free and open for everyone.
If you're not a developer, you can still help with testing, translations, and documentation to make projects more accessible.
🚀 Every Contribution Strengthens Nostr
Whether you:
✔️ Post and engage daily\ ✔️ Zap creators and developers\ ✔️ Run or support relays\ ✔️ Build new apps and tools\ ✔️ Educate and onboard new users
Every action helps make Nostr more resilient, decentralized, and unstoppable.
Nostr isn’t just another social network—it’s a movement toward a free and open internet. If you believe in digital freedom, privacy, and decentralization, now is the time to get involved.
-
@ 5de23b9a:d83005b3
2025-02-19 03:47:19In a digital era that is increasingly controlled by large companies, the emergence of Nostr (Notes and Other Stuff Transmitted by Relays) is a breath of fresh air for those who crave freedom of expression.
Nostr is a cryptography-based protocol that allows users to send and receive messages through a relay network. Unlike conventional social media such as Twitter or Facebook
1.Full Decentralization: No company or government can remove or restrict content.
2.Sensor-Resistant: Information remains accessible despite blocking attempts.
3.Privacy and Security: Uses cryptography to ensure that only users who have the keys can access their messages.* **
-
@ 9e69e420:d12360c2
2025-02-17 17:12:01President Trump has intensified immigration enforcement, likening it to a wartime effort. Despite pouring resources into the U.S. Immigration and Customs Enforcement (ICE), arrest numbers are declining and falling short of goals. ICE fell from about 800 daily arrests in late January to fewer than 600 in early February.
Critics argue the administration is merely showcasing efforts with ineffectiveness, while Trump seeks billions more in funding to support his deportation agenda. Increased involvement from various federal agencies is intended to assist ICE, but many lack specific immigration training.
Challenges persist, as fewer immigrants are available for quick deportation due to a decline in illegal crossings. Local sheriffs are also pressured by rising demands to accommodate immigrants, which may strain resources further.
-
@ 378562cd:a6fc6773
2025-02-02 18:58:38Chef's notes
I'm only testing this out right now. I will update the recipe as well as add my own image soon after making this dish again.
Details
- ⏲️ Prep time: 20 minutes
- 🍳 Cook time: 1 hour
- 🍽️ Servings: 4
Ingredients
- 4 to 6 potatoes (size depending)
- 1 lb ground beef
- seasonings
- 2 cans chili beans
- 1 onion
- katsup
- shredded cheese of some kind
Directions
- saute onion and add ground beef to skillet. Season to liking.
- peel if you like and thin slice potatoes
- in a rectangle baking dish, layer potatoes, beans, meat and cheese (like a lasagna) until you have used all your ingredients. Try and make at least 2 or 3 layers with extra cheese on top.
- Bake at 350 for one hour. Serve and enjoy!
-
@ 42342239:1d80db24
2025-02-16 08:39:59Almost 150 years ago, the British newspaper editor William Thomas Stead wrote that "the editorial pen is a sceptre of power, compared with which the sceptre of many a monarch is but a gilded lath". He had begun to regard journalism as something more than just conveying information - the journalist or editor could become a ruler.
Times had certainly changed compared to a few hundred years earlier. Before Gutenberg's invention of the printing press, it was mainly the church that controlled the dissemination of information in Europe, but when Stead put pen to paper, this control had shifted to newspapers, schools, and universities. Eventually, technologies like radio and TV entered the scene, but the power dynamics remained asymmetrical - only a few could send information to the many.
However, with the emergence of the internet, and especially with the spread of social media, a significant change followed. Instead of only a few being able to send information to the many, many could send to many. Almost anyone could now create their own newspaper, radio, or TV channel. The power over information dissemination was decentralised.
Ten years ago, Roberta Alenius, who was then press secretary for Sweden's Prime Minister Fredrik Reinfeldt of the Moderate Party, shared her experiences with Social Democratic and Moderate Party internet activists on social media. She reported that social media played a significant role in how news "comes out" and is shaped, and that journalism was now downstream of social media. Five years later, NATO's then-Secretary-General Jens Stoltenberg said that "NATO must be prepared for both conventional and hybrid threats: from tanks to tweets." This finally underscores the importance of social media.
Elon Musk, who took over X (formerly Twitter) in 2022, has claimed that "it's absolutely fundamental and transformative that the people actually get to decide the news and narrative and what's important," and that citizen journalism is the future.
While his platform allows most expressions - for better or worse - the reach of messages is instead limited ("freedom of speech does not mean freedom of reach "). X has also opened its recommendation algorithm to the outside world by making it open-source. Although this is a welcome step, the fact remains that it's impossible to know which code is actually used and what adjustments are made by humans or algorithms.
William Thomas Stead's "sceptre of power", which has wandered from the church to newspaper and TV editorial offices, and now to citizens according to Elon Musk, risks being transferred to algorithms' opaque methods?
Instead of talking about "toxic algorithms" and TikTok bans, like the so many do today, we should ask ourselves more fundamental questions. What happens when algorithms are no longer objective (how can they ever be?), but instead become tools for shaping our reality? Perhaps our greatest challenge today is not deciding who should govern the information landscape, but instead recognising that no one is up to the task - not even well-ventilated computers.
-
@ 378562cd:a6fc6773
2025-02-02 17:53:05Chef's notes
I'm only testing this out right now. I will update the recipe as well as add my own image soon after making this dish again.
Details
- ⏲️ Prep time: 20 minutes
- 🍳 Cook time: 1 hour
- 🍽️ Servings: 4
Ingredients
- 4 to 6 potatoes (size depending)
- 1 lb ground beef
- seasonings
- 2 cans chili beans
- 1 onion
- katsup
- shredded cheese of some kind
Directions
- saute onion and add ground beef to skillet. Season to liking.
- peel if you like and thin slice potatoes
- in a rectangle baking dish, layer potatoes, beans, meat and cheese (like a lasagna) until you have used all your ingredients. Try and make at least 2 or 3 layers with extra cheese on top.
- Bake at 350 for one hour. Serve and enjoy!
-
@ 63db3b6d:899680ff
2025-02-22 11:52:51Many of the tragedies we see in today’s crypto world can be described as a symphony—one composed of ignorance, greed, vanity, and the cunning of those who exploit these human flaws for profit.
People often discuss blockchain while loosely tossing around terms like cypherpunks, decentralization, and cryptocurrencies—concepts they barely understand. They lump them together into some vague image and follow it blindly. It’s a bit like encountering a stranger whose looks alone inspire you to imagine they’re wealthy, kind, and from a noble lineage, projecting all your hopes and wishes onto them.
Take any basic “Blockchain 101” course, and you’ll inevitably hear about cypherpunks. Cypherpunks form a social movement that aims to protect individual freedom and privacy against surveillance and censorship by governments or Big Tech. While some of their arguments are certainly relatable, social movements tend to be niche; they rarely represent the mainstream view.
Blockchain was specifically designed as a tool to solve the problems that cypherpunks identified. How valuable, then, is a technology born from such a niche worldview? This is one reason people say, “I don’t see the point of blockchain.” It’s similar to climate change technology: How valuable is it to someone who believes climate change is a hoax? If you don’t relate to cypherpunks’ vision, then blockchain may seem to have zero practical value. And realistically, how many actual cypherpunks are there among all the current blockchain users?
Is Blockchain Really That Worthless If You’re Not a Cypherpunk?
An interesting thing about inventions is that they rarely remain confined to their original purpose. Take Propecia—it was developed as a prostate treatment but is now often prescribed to slow hair loss. Cypherpunks created blockchain for their own ends, but other people have since discovered different, potentially useful applications.
Why Would Blockchain Be Useful to Non-Cypherpunks?
The freedom cypherpunks sought is, in modern society, largely defined by the rights our social systems establish and protect. They needed a tool to build a system that would not be controlled by any single person or group, yet remain viable among participants who share a common vision. That required decentralization.
Here, we find another misconception: equating cypherpunks with decentralization. Decentralization is simply one necessary characteristic of a system that serves their goal: “a system free from the control of any individual or faction.” A decentralized design isn’t inherently superior; it’s just that for cypherpunks, decentralization was a must. If their goals had been different, decentralization might not have mattered at all.
Yet, building a truly decentralized system is extremely difficult. The cypherpunk movement was active in the 1990s, but the first blockchain—Bitcoin—didn’t emerge until 2008. Once blockchain technology was invented, it radically lowered the costs for like-minded people to create decentralized systems.
Any system that defines and protects a set of rights needs resources. Ensuring those resources are used fairly, transparently, and in line with collective consensus has always been expensive, which is why we traditionally rely on centralized authorities. Blockchain enables Trustless Trust, drastically reducing the cost of building such systems.
Currency as Collective Decision-Making
These systems don’t rely solely on formal governance or voting. Spending also reflects decision-making. Fiat currency has no intrinsic value; it represents a delayed claim on real resources within the system. Thus, when more money is spent on a particular good or service, more actual resources are ultimately funneled there. Over time, this asynchronous spending accumulates to form a kind of collective will—effectively guiding resource allocation without requiring constant explicit votes.
The Misconception: “Cryptocurrency Is the ‘Killer App’ for Blockchain”
At one point, people struggled to find practical uses for blockchain. Some even flipped the narrative, saying that “cryptocurrency is the killer app of blockchain” or worse, that “blockchain exists only for creating cryptocurrencies.” In reality, cryptocurrencies aren’t the end goal of blockchain; they’re simply tools that allow participants in a decentralized system to signal their intent and allocate resources in order to shape the system’s future direction.
Then Why Does Blockchain Seem So Useless?
Blockchain itself is a value-neutral technology. It has no inherent agenda. It simply allows groups with shared purposes to build decentralized systems. Unfortunately, most current blockchain communities lack genuine shared objectives or real-world problems they intend to solve. The only “problem” many of them define is: “I have less than others,” and their sole “solution” is to extract wealth from someone else.
For a system to be sustainable, resources need to stay within it. Since currencies represent delayed claims on these resources, if everyone is constantly converting those claims back into external assets, the system can’t survive.
To make blockchain genuinely useful—and to show that cryptocurrencies aren’t just a scam—there must be:
- A clear definition of the collective problem the system aims to solve.
- A shared vision or direction for solving that problem.
- A concrete protocol specifying how to achieve these goals in a decentralized way.
Without that groundwork, merely issuing a cryptocurrency in the hope of creating a better, happier world is a fantasy—no better than a cultish scam. And that, ultimately, is why so many blockchain initiatives fail to deliver real value.
-
@ da0b9bc3:4e30a4a9
2025-02-22 10:55:44Hello Stackers!
Welcome on into the ~Music Corner of the Saloon!
A place where we Talk Music. Share Tracks. Zap Sats.
So stay a while and listen.
🚨Don't forget to check out the pinned items in the territory homepage! You can always find the latest weeklies there!🚨
🚨Subscribe to the territory to ensure you never miss a post! 🚨
originally posted at https://stacker.news/items/893831
-
@ fc481c65:e280e7ba
2025-02-21 21:30:56Algebra is a branch of #Mathematics that uses symbols, known as variables (like x or y), to represent numbers in equations and formulas. It involves operations like addition, subtraction, multiplication, and division, but these operations are performed on variables as well as numbers.
Key Concepts in Algebra
- Variables: Symbols that stand in for unknown values.
- Constants: Known values that don’t change.
- Coefficients: Numbers used to multiply a variable.
- Expressions: Combinations of variables, numbers, and operations (like 3x + 4).
- Equations: Statements that assert the equality of two expressions, typically including an equals sign (like 2x + 3 = 7).
Basic Operations
- Adding and Subtracting: You can add or subtract like terms (terms whose variables and their powers are the same). For example, 2x+3x=5x
- Multiplying and Dividing: You multiply or divide both the coefficients and the variables. For instance,
$$3x \times 2x=6x^2$$
- Solving Equations: The goal is often to isolate the variable on one side of the equation to find its value. This can involve reversing operations using opposite operations.
Applications of Algebra
Algebra is used in various fields, from #Engineering and computer science to economics and everyday problem solving. It helps in creating formulas to understand relationships between quantities and in solving equations that model real-world situations.
Algebra and Electronics
Algebra plays a crucial role in #Electronics engineering, particularly through its application in circuit analysis, signal processing, and control systems. Understanding and utilizing algebraic techniques can significantly enhance problem-solving capabilities in these areas.
1. Complex Numbers
In electronic engineering, complex numbers are essential for analyzing AC circuits. They help in representing sinusoidal signals, which are fundamental in communications and power systems. - Representation: z=a+bi or z=reiθ (polar form) - Operations: Addition, subtraction, multiplication, and division in complex form, crucial for understanding the behavior of circuits in the frequency domain. Example: Calculating the impedance of an RLC series circuit at a certain frequency. - Circuit Components: R=50Ω, L=0.1 H, C=10 μF, ω=1000 rad/s
$$ Z = 50 + j1000 \times 0.1 - \frac{1}{j1000 \times 10 \times 10^{-6}} = 50 + j100 - \frac{1}{j0.01} = 50 + j100 + 100j = 50 + 200j $$
2. Matrices and Determinants
Matrices are widely used in electronic engineering for handling multiple equations simultaneously, which is common in systems and network analysis. - Matrix Operations: Addition, subtraction, multiplication, and inversion. - Determinant and Inverse: Used in solving systems of linear equations, critical in network theory and control systems.
3. Fourier Transforms
Algebraic manipulation is key in applying Fourier transforms, which convert time-domain signals into their frequency components. This is crucial for signal analysis, filtering, and system design. - Fourier Series: Represents periodic signals as a sum of sinusoids. - Fourier Transform: Converts continuous time-domain signals to continuous frequency spectra.
4. Laplace Transforms
Laplace transforms are used to simplify the process of analyzing and designing control systems and circuits by converting differential equations into algebraic equations. - Transfer Functions: Represent systems in the s-domain, facilitating easier manipulation and understanding of system dynamics.
5. Z-Transforms
Similar to Laplace transforms, Z-transforms are used for discrete systems prevalent in digital signal processing and digital control.
6. Algebraic Equations in Filter Design
Algebra is used in the design of filters, both analog and digital, where polynomial equations are used to determine filter coefficients that meet specific frequency response criteria.
7. Control Systems
The design and stability analysis of control systems involve solving characteristic equations and manipulating transfer functions, which require a solid understanding of algebra.
8. Network Theorems
Theorems like Kirchhoff's laws, Thevenin’s theorem, and Norton’s theorem involve algebraic equations to simplify and analyze circuits.
Algebra with Sympy
TODO
-
@ 97c70a44:ad98e322
2025-01-30 17:15:37There was a slight dust up recently over a website someone runs removing a listing for an app someone built based on entirely arbitrary criteria. I'm not to going to attempt to speak for either wounded party, but I would like to share my own personal definition for what constitutes a "nostr app" in an effort to help clarify what might be an otherwise confusing and opaque purity test.
In this post, I will be committing the "no true Scotsman" fallacy, in which I start with the most liberal definition I can come up with, and gradually refine it until all that is left is the purest, gleamingest, most imaginary and unattainable nostr app imaginable. As I write this, I wonder if anything built yet will actually qualify. In any case, here we go.
It uses nostr
The lowest bar for what a "nostr app" might be is an app ("application" - i.e. software, not necessarily a native app of any kind) that has some nostr-specific code in it, but which doesn't take any advantage of what makes nostr distinctive as a protocol.
Examples might include a scraper of some kind which fulfills its charter by fetching data from relays (regardless of whether it validates or retains signatures). Another might be a regular web 2.0 app which provides an option to "log in with nostr" by requesting and storing the user's public key.
In either case, the fact that nostr is involved is entirely neutral. A scraper can scrape html, pdfs, jsonl, whatever data source - nostr relays are just another target. Likewise, a user's key in this scenario is treated merely as an opaque identifier, with no appreciation for the super powers it brings along.
In most cases, this kind of app only exists as a marketing ploy, or less cynically, because it wants to get in on the hype of being a "nostr app", without the developer quite understanding what that means, or having the budget to execute properly on the claim.
It leverages nostr
Some of you might be wondering, "isn't 'leverage' a synonym for 'use'?" And you would be right, but for one connotative difference. It's possible to "use" something improperly, but by definition leverage gives you a mechanical advantage that you wouldn't otherwise have. This is the second category of "nostr app".
This kind of app gets some benefit out of the nostr protocol and network, but in an entirely selfish fashion. The intention of this kind of app is not to augment the nostr network, but to augment its own UX by borrowing some nifty thing from the protocol without really contributing anything back.
Some examples might include:
- Using nostr signers to encrypt or sign data, and then store that data on a proprietary server.
- Using nostr relays as a kind of low-code backend, but using proprietary event payloads.
- Using nostr event kinds to represent data (why), but not leveraging the trustlessness that buys you.
An application in this category might even communicate to its users via nostr DMs - but this doesn't make it a "nostr app" any more than a website that emails you hot deals on herbal supplements is an "email app". These apps are purely parasitic on the nostr ecosystem.
In the long-term, that's not necessarily a bad thing. Email's ubiquity is self-reinforcing. But in the short term, this kind of "nostr app" can actually do damage to nostr's reputation by over-promising and under-delivering.
It complements nostr
Next up, we have apps that get some benefit out of nostr as above, but give back by providing a unique value proposition to nostr users as nostr users. This is a bit of a fine distinction, but for me this category is for apps which focus on solving problems that nostr isn't good at solving, leaving the nostr integration in a secondary or supporting role.
One example of this kind of app was Mutiny (RIP), which not only allowed users to sign in with nostr, but also pulled those users' social graphs so that users could send money to people they knew and trusted. Mutiny was doing a great job of leveraging nostr, as well as providing value to users with nostr identities - but it was still primarily a bitcoin wallet, not a "nostr app" in the purest sense.
Other examples are things like Nostr Nests and Zap.stream, whose core value proposition is streaming video or audio content. Both make great use of nostr identities, data formats, and relays, but they're primarily streaming apps. A good litmus test for things like this is: if you got rid of nostr, would it be the same product (even if inferior in certain ways)?
A similar category is infrastructure providers that benefit nostr by their existence (and may in fact be targeted explicitly at nostr users), but do things in a centralized, old-web way; for example: media hosts, DNS registrars, hosting providers, and CDNs.
To be clear here, I'm not casting aspersions (I don't even know what those are, or where to buy them). All the apps mentioned above use nostr to great effect, and are a real benefit to nostr users. But they are not True Scotsmen.
It embodies nostr
Ok, here we go. This is the crème de la crème, the top du top, the meilleur du meilleur, the bee's knees. The purest, holiest, most chaste category of nostr app out there. The apps which are, indeed, nostr indigitate.
This category of nostr app (see, no quotes this time) can be defined by the converse of the previous category. If nostr was removed from this type of application, would it be impossible to create the same product?
To tease this apart a bit, apps that leverage the technical aspects of nostr are dependent on nostr the protocol, while apps that benefit nostr exclusively via network effect are integrated into nostr the network. An app that does both things is working in symbiosis with nostr as a whole.
An app that embraces both nostr's protocol and its network becomes an organic extension of every other nostr app out there, multiplying both its competitive moat and its contribution to the ecosystem:
- In contrast to apps that only borrow from nostr on the technical level but continue to operate in their own silos, an application integrated into the nostr network comes pre-packaged with existing users, and is able to provide more value to those users because of other nostr products. On nostr, it's a good thing to advertise your competitors.
- In contrast to apps that only market themselves to nostr users without building out a deep integration on the protocol level, a deeply integrated app becomes an asset to every other nostr app by becoming an organic extension of them through interoperability. This results in increased traffic to the app as other developers and users refer people to it instead of solving their problem on their own. This is the "micro-apps" utopia we've all been waiting for.
Credible exit doesn't matter if there aren't alternative services. Interoperability is pointless if other applications don't offer something your app doesn't. Marketing to nostr users doesn't matter if you don't augment their agency as nostr users.
If I had to choose a single NIP that represents the mindset behind this kind of app, it would be NIP 89 A.K.A. "Recommended Application Handlers", which states:
Nostr's discoverability and transparent event interaction is one of its most interesting/novel mechanics. This NIP provides a simple way for clients to discover applications that handle events of a specific kind to ensure smooth cross-client and cross-kind interactions.
These handlers are the glue that holds nostr apps together. A single event, signed by the developer of an application (or by the application's own account) tells anyone who wants to know 1. what event kinds the app supports, 2. how to link to the app (if it's a client), and (if the pubkey also publishes a kind 10002), 3. which relays the app prefers.
As a sidenote, NIP 89 is currently focused more on clients, leaving DVMs, relays, signers, etc somewhat out in the cold. Updating 89 to include tailored listings for each kind of supporting app would be a huge improvement to the protocol. This, plus a good front end for navigating these listings (sorry nostrapp.link, close but no cigar) would obviate the evil centralized websites that curate apps based on arbitrary criteria.
Examples of this kind of app obviously include many kind 1 clients, as well as clients that attempt to bring the benefits of the nostr protocol and network to new use cases - whether long form content, video, image posts, music, emojis, recipes, project management, or any other "content type".
To drill down into one example, let's think for a moment about forms. What's so great about a forms app that is built on nostr? Well,
- There is a spec for forms and responses, which means that...
- Multiple clients can implement the same data format, allowing for credible exit and user choice, even of...
- Other products not focused on forms, which can still view, respond to, or embed forms, and which can send their users via NIP 89 to a client that does...
- Cryptographically sign forms and responses, which means they are self-authenticating and can be sent to...
- Multiple relays, which reduces the amount of trust necessary to be confident results haven't been deliberately "lost".
Show me a forms product that does all of those things, and isn't built on nostr. You can't, because it doesn't exist. Meanwhile, there are plenty of image hosts with APIs, streaming services, and bitcoin wallets which have basically the same levels of censorship resistance, interoperability, and network effect as if they weren't built on nostr.
It supports nostr
Notice I haven't said anything about whether relays, signers, blossom servers, software libraries, DVMs, and the accumulated addenda of the nostr ecosystem are nostr apps. Well, they are (usually).
This is the category of nostr app that gets none of the credit for doing all of the work. There's no question that they qualify as beautiful nostrcorns, because their value propositions are entirely meaningless outside of the context of nostr. Who needs a signer if you don't have a cryptographic identity you need to protect? DVMs are literally impossible to use without relays. How are you going to find the blossom server that will serve a given hash if you don't know which servers the publishing user has selected to store their content?
In addition to being entirely contextualized by nostr architecture, this type of nostr app is valuable because it does things "the nostr way". By that I mean that they don't simply try to replicate existing internet functionality into a nostr context; instead, they create entirely new ways of putting the basic building blocks of the internet back together.
A great example of this is how Nostr Connect, Nostr Wallet Connect, and DVMs all use relays as brokers, which allows service providers to avoid having to accept incoming network connections. This opens up really interesting possibilities all on its own.
So while I might hesitate to call many of these things "apps", they are certainly "nostr".
Appendix: it smells like a NINO
So, let's say you've created an app, but when you show it to people they politely smile, nod, and call it a NINO (Nostr In Name Only). What's a hacker to do? Well, here's your handy-dandy guide on how to wash that NINO stench off and Become a Nostr.
You app might be a NINO if:
- There's no NIP for your data format (or you're abusing NIP 78, 32, etc by inventing a sub-protocol inside an existing event kind)
- There's a NIP, but no one knows about it because it's in a text file on your hard drive (or buried in your project's repository)
- Your NIP imposes an incompatible/centralized/legacy web paradigm onto nostr
- Your NIP relies on trusted third (or first) parties
- There's only one implementation of your NIP (yours)
- Your core value proposition doesn't depend on relays, events, or nostr identities
- One or more relay urls are hard-coded into the source code
- Your app depends on a specific relay implementation to work (ahem, relay29)
- You don't validate event signatures
- You don't publish events to relays you don't control
- You don't read events from relays you don't control
- You use legacy web services to solve problems, rather than nostr-native solutions
- You use nostr-native solutions, but you've hardcoded their pubkeys or URLs into your app
- You don't use NIP 89 to discover clients and services
- You haven't published a NIP 89 listing for your app
- You don't leverage your users' web of trust for filtering out spam
- You don't respect your users' mute lists
- You try to "own" your users' data
Now let me just re-iterate - it's ok to be a NINO. We need NINOs, because nostr can't (and shouldn't) tackle every problem. You just need to decide whether your app, as a NINO, is actually contributing to the nostr ecosystem, or whether you're just using buzzwords to whitewash a legacy web software product.
If you're in the former camp, great! If you're in the latter, what are you waiting for? Only you can fix your NINO problem. And there are lots of ways to do this, depending on your own unique situation:
- Drop nostr support if it's not doing anyone any good. If you want to build a normal company and make some money, that's perfectly fine.
- Build out your nostr integration - start taking advantage of webs of trust, self-authenticating data, event handlers, etc.
- Work around the problem. Think you need a special relay feature for your app to work? Guess again. Consider encryption, AUTH, DVMs, or better data formats.
- Think your idea is a good one? Talk to other devs or open a PR to the nips repo. No one can adopt your NIP if they don't know about it.
- Keep going. It can sometimes be hard to distinguish a research project from a NINO. New ideas have to be built out before they can be fully appreciated.
- Listen to advice. Nostr developers are friendly and happy to help. If you're not sure why you're getting traction, ask!
I sincerely hope this article is useful for all of you out there in NINO land. Maybe this made you feel better about not passing the totally optional nostr app purity test. Or maybe it gave you some actionable next steps towards making a great NINON (Nostr In Not Only Name) app. In either case, GM and PV.
-
@ 6734e11d:c7e34e8f
2025-02-22 09:16:15...damit wir weiter recht haben und so weitermachen können wie bisher, die verordnete Omertà eingehalten wird zu Grundrechten, Notverordnungen, Pandemiesimulationen, Energieversorgung, Deindustrialisierung, kalte und echte Enteigung, Umverteilung, Freiluft- und Digitalgefängnis, Blockwartnachbarn...
Alles andere wäre äußerst unangenehm, wie das Aufplatzen einer großen Eiterblase und müsste dann wieder mit Exekutive, Justiz, Notverordnungen, neuen Strafrechtsparagraphen, Verschärfung der Strafprozessordnung, echte Änderung des Grundgesetzes, Überwachung, Totalzensur, Parteiverboten, Regimechanges und Krieg unterbunden werden.
Idee und Meme sind wieder von der Schwurbel Oase
-
@ 6389be64:ef439d32
2025-02-22 09:12:022024-05-28 at 14:05
Tags:
Soil Carbon Oxidation Under Tillage
When soil is turned over (by tilling or plow) it exposes carbon to oxygen and that carbon burns off as CO2.
You are burning the carbon out of the soil.
References
[[Shepard-Lappe-Restoration Agriculture]]
Core Notes
[[Soil Erosion]]
Location
-
@ fd208ee8:0fd927c1
2025-02-15 07:02:08E-cash are coupons or tokens for Bitcoin, or Bitcoin debt notes that the mint issues. The e-cash states, essentially, "IoU 2900 sats".
They're redeemable for Bitcoin on Lightning (hard money), and therefore can be used as cash (softer money), so long as the mint has a good reputation. That means that they're less fungible than Lightning because the e-cash from one mint can be more or less valuable than the e-cash from another. If a mint is buggy, offline, or disappears, then the e-cash is unreedemable.
It also means that e-cash is more anonymous than Lightning, and that the sender and receiver's wallets don't need to be online, to transact. Nutzaps now add the possibility of parking transactions one level farther out, on a relay. The same relays that cannot keep npub profiles and follow lists consistent will now do monetary transactions.
What we then have is * a transaction on a relay that triggers * a transaction on a mint that triggers * a transaction on Lightning that triggers * a transaction on Bitcoin.
Which means that every relay that stores the nuts is part of a wildcat banking system. Which is fine, but relay operators should consider whether they wish to carry the associated risks and liabilities. They should also be aware that they should implement the appropriate features in their relay, such as expiration tags (nuts rot after 2 weeks), and to make sure that only expired nuts are deleted.
There will be plenty of specialized relays for this, so don't feel pressured to join in, and research the topic carefully, for yourself.
https://github.com/nostr-protocol/nips/blob/master/60.md
-
@ 0fa80bd3:ea7325de
2025-02-14 23:24:37intro
The Russian state made me a Bitcoiner. In 1991, it devalued my grandmother's hard-earned savings. She worked tirelessly in the kitchen of a dining car on the Moscow–Warsaw route. Everything she had saved for my sister and me to attend university vanished overnight. This story is similar to what many experienced, including Wences Casares. The pain and injustice of that time became my first lessons about the fragility of systems and the value of genuine, incorruptible assets, forever changing my perception of money and my trust in government promises.
In 2014, I was living in Moscow, running a trading business, and frequently traveling to China. One day, I learned about the Cypriot banking crisis and the possibility of moving money through some strange thing called Bitcoin. At the time, I didn’t give it much thought. Returning to the idea six months later, as a business-oriented geek, I eagerly began studying the topic and soon dove into it seriously.
I spent half a year reading articles on a local online journal, BitNovosti, actively participating in discussions, and eventually joined the editorial team as a translator. That’s how I learned about whitepapers, decentralization, mining, cryptographic keys, and colored coins. About Satoshi Nakamoto, Silk Road, Mt. Gox, and BitcoinTalk. Over time, I befriended the journal’s owner and, leveraging my management experience, later became an editor. I was drawn to the crypto-anarchist stance and commitment to decentralization principles. We wrote about the economic, historical, and social preconditions for Bitcoin’s emergence, and it was during this time that I fully embraced the idea.
It got to the point where I sold my apartment and, during the market's downturn, bought 50 bitcoins, just after the peak price of $1,200 per coin. That marked the beginning of my first crypto winter. As an editor, I organized workflows, managed translators, developed a YouTube channel, and attended conferences in Russia and Ukraine. That’s how I learned about Wences Casares and even wrote a piece about him. I also met Mikhail Chobanyan (Ukrainian exchange Kuna), Alexander Ivanov (Waves project), Konstantin Lomashuk (Lido project), and, of course, Vitalik Buterin. It was a time of complete immersion, 24/7, and boundless hope.
After moving to the United States, I expected the industry to grow rapidly, attended events, but the introduction of BitLicense froze the industry for eight years. By 2017, it became clear that the industry was shifting toward gambling and creating tokens for the sake of tokens. I dismissed this idea as unsustainable. Then came a new crypto spring with the hype around beautiful NFTs – CryptoPunks and apes.
I made another attempt – we worked on a series called Digital Nomad Country Club, aimed at creating a global project. The proceeds from selling images were intended to fund the development of business tools for people worldwide. However, internal disagreements within the team prevented us from completing the project.
With Trump’s arrival in 2025, hope was reignited. I decided that it was time to create a project that society desperately needed. As someone passionate about history, I understood that destroying what exists was not the solution, but leaving everything as it was also felt unacceptable. You can’t destroy the system, as the fiery crypto-anarchist voices claimed.
With an analytical mindset (IQ 130) and a deep understanding of the freest societies, I realized what was missing—not only in Russia or the United States but globally—a Bitcoin-native system for tracking debts and financial interactions. This could return control of money to ordinary people and create horizontal connections parallel to state systems. My goal was to create, if not a Bitcoin killer app, then at least to lay its foundation.
At the inauguration event in New York, I rediscovered the Nostr project. I realized it was not only technologically simple and already quite popular but also perfectly aligned with my vision. For the past month and a half, using insights and experience gained since 2014, I’ve been working full-time on this project.
-
@ df57b498:d049124f
2025-01-26 03:59:47Chef's notes
This is cobbled together from trial and error and the web.
Serve hot pancakes with preferably butter and maple syrup. Add other toppings like bananas, nuts, or other fruits and toppings as have available and/or desired.
Details
- ⏲️ Prep time: 10 minutes
- 🍳 Cook time: 10 minutes
Ingredients
- 1 cup flour
- 2 tablespoons sugar
- 2 teaspoons baking powder
- 1 teaspoon salt
- 1 cup milk
- 2 tablespoons vegetable oil
- 1 egg, beaten
Directions
- Combine the dry ingredients.
- Add the wet ingredients and mix.
- Pour or ladle the batter onto the oiled griddle or pan.
- Cook until bubbles form, flip, and cook on the other side.
-
@ 266815e0:6cd408a5
2025-02-21 17:54:15I've been working on the applesauce libraries for a while now but I think this release is the first one I would consider to be stable enough to use
A lot of the core concepts and classes are in place and stable enough where they wont change too much next release
If you want to skip straight to the documentation you can find at hzrd149.github.io/applesauce or the typescript docs at hzrd149.github.io/applesauce/typedoc
Whats new
Accounts
The
applesauce-accounts
package is an extension of theapplesauce-signers
package and provides classes for building a multi-account system for clientsIts primary features are - Serialize and deserialize accounts so they can be saved in local storage or IndexededDB - Account manager for multiple accounts and switching between them - Account metadata for things like labels, app settings, etc - Support for NIP-46 Nostr connect accounts
see documentation for more examples
Nostr connect signer
The
NostrConnectSigner
class from theapplesauce-signers
package is now in a stable state and has a few new features - Ability to createnostrconnect://
URIs and waiting for the remote signer to connect - SDK agnostic way of subscribing and publishing to relaysFor a simple example, here is how to create a signer from a
bunker://
URIjs const signer = await NostrConnectSigner.fromBunkerURI( "bunker://266815e0c9210dfa324c6cba3573b14bee49da4209a9456f9484e5106cd408a5?relay=wss://relay.nsec.app&secret=d9aa70", { permissions: NostrConnectSigner.buildSigningPermissions([0, 1, 3, 10002]), async onSubOpen(filters, relays, onEvent) { // manually open REQ }, async onSubClose() { // close previouse REQ }, async onPublishEvent(event, relays) { // Pubilsh an event to relays }, }, );
see documentation for more examples and other signers
Event Factory
The
EventFactory
class is probably what I'm most proud of. its a standalone class that can be used to create various types of events from templates (blueprints) and is really simple to useFor example: ```js import { EventFactory } from "applesauce-factory"; import { NoteBlueprint } from "applesauce-factory/blueprints";
const factory = new EventFactory({ // optionally pass a NIP-07 signer in to use for encryption / decryption signer: window.nostr });
// Create a kind 1 note with a hashtag let draft = await factory.create(NoteBlueprint, "hello world #grownostr"); // Sign the note so it can be published let signed = await window.nostr.signEvent(draft); ```
Its included in the
applesauce-factory
package and can be used with any other nostr SDKs or vanilla javascriptIt also can be used to modify existing replaceable events
js let draft = await factory.modifyTags( // kind 10002 event mailboxes, // add outbox relays addOutboxRelay("wss://relay.io/"), addOutboxRelay("wss://nostr.wine/"), // remove inbox relay removeInboxRelay("wss://personal.old-relay.com/") );
see documentation for more examples
Loaders
The
applesauce-loaders
package exports a bunch of loader classes that can be used to load everything from replaceable events (profiles) to timelines and NIP-05 identitiesThey use rx-nostr under the hood to subscribe to relays, so for the time being they will not work with other nostr SDKs
I don't expect many other developers or apps to use them since in my experience every nostr client requires a slightly different way or loading events
They are stable enough to start using but they are not fully tested and they might change slightly in the future
The following is a short list of the loaders and what they can be used for -
ReplaceableLoader
loads any replaceable events (0, 3, 1xxxx, 3xxxx) -SingleEventLoader
loads single events based on ids -TimelineLoader
loads a timeline of events from multiple relays based on filters -TagValueLoader
loads events based on a tag name (like "e") and a value, can be used to load replies, zaps, reactions, etc -DnsIdentityLoader
loads NIP-05 identities and supports caching -UserSetsLoader
loads all lists events for userssee documentation for more examples
Real tests
For all new features and a lot of existing ones I'm trying to write tests to ensure I don't leave unexpected bugs for later
I'm not going to pretend its 100% tests coverage or that it will ever get close to that point, but these tests cover some of the core classes and help me prove that my code is doing what it says its supposed to do
At the moment there are about 230 tests covering 45 files. not much but its a start
Apps built using applesauce
If you want to see some examples of applesauce being used in a nostr client I've been testing a lot of this code in production on the apps I've built in the last few months
- noStrudel The main app everything is being built for and tested in
- nsite-manager Still a work-in-progress but supports multiple accounts thanks to the
applesauce-accounts
package - blossomservers.com A simple (and incomplete) nostr client for listing and reviewing public blossom servers
- libretranslate-dvm A libretranslate DVM for nostr:npub1mkvkflncllnvp3adq57klw3wge6k9llqa4r60g42ysp4yyultx6sykjgnu
- cherry-tree A chunked blob uploader / downloader. only uses applesauce for boilerplate
- nsite-homepage A simple landing page for nsite.lol
Thanks to nostr:npub1cesrkrcuelkxyhvupzm48e8hwn4005w0ya5jyvf9kh75mfegqx0q4kt37c for teaching me more about rxjs and consequentially making me re-write a lot of the core observables to be faster
-
@ 9e69e420:d12360c2
2025-01-26 01:31:47Chef's notes
arbitray
- test
- of
- chefs notes
hedding 2
Details
- ⏲️ Prep time: 20
- 🍳 Cook time: 1 hour
- 🍽️ Servings: 5
Ingredients
- Test ingredient
- 2nd test ingredient
Directions
- Bake
- Cool
-
@ 00033a93:774465e5
2025-02-21 14:27:15New key management on mostro with great privacy improvement. Read more here mostro keys management.
Mobile app with big steps ahead, not full order flow working but we are near, read more here
Mostro will be completely open source, built on top of Nostr, competitive ( anyone could run an instance ), nokyc, no mail or phone number or personal data.
Get ready!
originally posted at https://stacker.news/items/892994
-
@ e3ba5e1a:5e433365
2025-02-13 06:16:49My favorite line in any Marvel movie ever is in “Captain America.” After Captain America launches seemingly a hopeless assault on Red Skull’s base and is captured, we get this line:
“Arrogance may not be a uniquely American trait, but I must say, you do it better than anyone.”
Yesterday, I came across a comment on the song Devil Went Down to Georgia that had a very similar feel to it:
America has seemingly always been arrogant, in a uniquely American way. Manifest Destiny, for instance. The rest of the world is aware of this arrogance, and mocks Americans for it. A central point in modern US politics is the deriding of racist, nationalist, supremacist Americans.
That’s not what I see. I see American Arrogance as not only a beautiful statement about what it means to be American. I see it as an ode to the greatness of humanity in its purest form.
For most countries, saying “our nation is the greatest” is, in fact, twinged with some level of racism. I still don’t have a problem with it. Every group of people should be allowed to feel pride in their accomplishments. The destruction of the human spirit since the end of World War 2, where greatness has become a sin and weakness a virtue, has crushed the ability of people worldwide to strive for excellence.
But I digress. The fears of racism and nationalism at least have a grain of truth when applied to other nations on the planet. But not to America.
That’s because the definition of America, and the prototype of an American, has nothing to do with race. The definition of Americanism is freedom. The founding of America is based purely on liberty. On the God-given rights of every person to live life the way they see fit.
American Arrogance is not a statement of racial superiority. It’s barely a statement of national superiority (though it absolutely is). To me, when an American comments on the greatness of America, it’s a statement about freedom. Freedom will always unlock the greatness inherent in any group of people. Americans are definitionally better than everyone else, because Americans are freer than everyone else. (Or, at least, that’s how it should be.)
In Devil Went Down to Georgia, Johnny is approached by the devil himself. He is challenged to a ridiculously lopsided bet: a golden fiddle versus his immortal soul. He acknowledges the sin in accepting such a proposal. And yet he says, “God, I know you told me not to do this. But I can’t stand the affront to my honor. I am the greatest. The devil has nothing on me. So God, I’m gonna sin, but I’m also gonna win.”
Libertas magnitudo est
-
@ 31da2214:af2508e2
2025-02-10 10:08:06A global privacy nightmare is unfolding. The UK government secretly ordered Apple to backdoor encrypted iCloud storage worldwide—but Apple is legally forbidden from revealing this order, or they face criminal charges. This affects 2 BILLION USERS.
Here’s the full story & why it’s part of a much bigger power grab. 🧵👇 [Thread by @sayerjigmi on Thread Reader App]
1) The UK's Secret Order to Backdoor Encryption 🔓
Under the UK’s Investigatory Powers Act (IPA) 2016, Apple was served a Technical Capability Notice (TCN)—forcing them to create a backdoor for encrypted iCloud data.
This is not limited to UK users. It applies worldwide, meaning your private files are at risk, no matter where you live.
🔗 @macworld report
2) Apple’s Legal Gag Order 🤐
Apple is legally forbidden from revealing this order. If Apple even acknowledges that the UK issued this demand, they could face criminal charges.
This is a secret government order with global consequences.
3) A Global Threat to Encryption 🌍
This isn’t just about the UK (although they are leading the charge in threatening citizens in OTHER countries for violating BRITISH censorship laws!).
If Apple complies, every government in the world will demand the same access—from the US to China to authoritarian regimes.
End-to-end encryption would be effectively dead.4) Apple’s Dilemma: Comply or Withdraw? 🚪
Apple has two choices:
- Comply & weaken encryption globally.
- Refuse & withdraw services from the UK.WhatsApp & Signal faced similar threats last year and vowed to leave the UK rather than compromise security. Will Apple do the same?
🚨 Watch the heated discussion between Damian Collins, director of CCDH (architect of the UK Online Safety Bill), and Signal’s CEO: YouTube Link
5) Why This Matters: Encryption Protects Everything 🔐
- Encryption protects financial data, health records, personal security (e.g., where you live or work), and private conversations.
- Governments always say they need backdoors for national security—but history shows they’re used for mass surveillance.
- Once a backdoor exists, hackers, rogue employees, and other governments WILL find it.
6) The UK’s War on Encryption 🛡️
The UK is trying to dominate the global surveillance & censorship landscape.
While the US, Canada, Australia, and New Zealand have supported strong encryption to mitigate cyber threats, the UK stands alone in its war on encryption.
7) The Free Speech Crackdown 🗣️
This isn’t just about encryption—it’s about control. Governments worldwide are criminalizing dissent and censoring free speech, using tech companies as their enforcement arms.
🔗 GreenMedInfo Report
8) The Global Censorship Agenda 🌐
This ties into the UK’s broader, GLOBALLY ORCHESTRATED censorship agenda:
- The Online Safety Bill criminalizes encrypted messaging & forces platforms to scan private messages.
- The Digital Services Act (EU) gives governments the power to shut down online content they don’t like.
- Leaked US-UK documents show direct coordination between UK intelligence & the Biden administration to censor online speech.
9) The Architects of Speech Policing: CCDH 🕵️♂️
The Center for Countering Digital Hate (CCDH)—a UK intelligence-backed group—has been a driving force behind global censorship.
They were caught:
- Running “black ops” to suppress RFK Jr.’s presidential campaign.
- Leading the "Kill Musk’s Twitter" directive, trying to shut down free speech on X.
- Labeling 12 private US citizens as the “Disinformation Dozen” to justify mass censorship.
🔗 Reclaim the Net Investigation
10) The Pattern is Clear: Surveillance + Censorship 🔍
1️⃣ Governments create "safety" laws to justify surveillance.
2️⃣ They pressure tech companies to enforce censorship.
3️⃣ Once encrypted services are gone, nothing is private anymore.This is the biggest attack on digital freedom in history.
11) What Can We Do? 💪
- Support companies that refuse to build backdoors (Signal, ProtonMail, etc.).
- Push for legislation that protects encryption & free speech.
- Stay informed & spread awareness—governments count on secrecy to push these policies through.
- Follow and support privacy and internet freedom organizations such as:
- @G_W_Forum
- @FFO_Freedom
- @ReclaimTheNetHQ
12) The Ultimate Power Grab: Controlling All Digital Communication 📱
If Apple caves, every other platform will be forced to follow.
📌 The UK’s Global Playbook:
- A backdoor to encryption (Investigatory Powers Act).
- A government-linked censorship network (CCDH).
- A speech-policing framework that extends worldwide (Online Safety Bill).This is a global effort to control what people can say, share, and store privately.
13) The Final Stand: Will You Comply or Resist? ⚔️🚨
They want total control—your speech, your privacy, your elections. This is the defining battle of our time.
🇬🇧 UK’s war on encryption = Global censorship blueprint.
🗳️ Election meddling + speech policing = A hijacked democracy.📢 Digital freedom is human freedom.
Stand up. Speak out. Fight back. 🏴☠️🔥
Full thread preserved by Thread Reader App.
-
@ 30b99916:3cc6e3fe
2025-01-21 02:08:26Details
- 🍳 Cook time: 10 to 8 minutes at 350
- 🍽️ Servings: About 4 dozen cookies
Ingredients
- 2 sticks of butter
- 2 eggs
- 1 cup granulated sugar
- 1 cup brown sugar
- 1 cup peanut butter
- 1 t vanilla
- 2 cups flour
- 1/2 t salt
- 1 t soda
- 6 oz Semi-Sweet Chocolate chips (optional)
Directions
- Blend butter, eggs, vanilla and sugars together thoroughly
- Next blend in peanut butter thoroughly
- Next blend in flour, salt, and soda thoroughly
- Optional blend in chocolate chips
- Add about table spoon of cookie dough per cookie on a cookie sheet. With a fork based in sugar place a cross hatch pattern on each cookie. Bake cookies for 10 to 8 minutes and place onto cooler rack.
-
@ e047f82f:f7d05b0b
2025-02-21 07:32:3921 คำแนะนำสำหรับโครงการบิตคอยน์จากประเทศอินโดนีเซีย (Bitcoin House Bali)
เริ่มต้น!! 1. Just start - แค่เริ่มต้น ทุกการเดินทางในโลกของบิทคอยน์เริ่มต้นด้วยก้าวแรก การหาจุดยืนของคุณในชุมชนบิทคอยน์อาจรู้สึกน่าหวั่นใจ แต่ไม่มีข้อมูลเชิงลึกใดๆ ต่อไปนี้จะสำคัญถ้าคุณไม่ลงมือทำ ขั้นตอนสำคัญและง่ายที่สุดคือการเริ่มต้นไม่ว่าจะเป็นการเข้าร่วมโครงการบิทคอยน์หรือสร้างโครงการของคุณเอง สิ่งสำคัญคือการเริ่มต้น
-
Make 'em curious - ทำให้พวกเขาอยากรู้
ไม่ใช่เรื่องการสอนทุกอย่างหรืออธิบายข้อเท็จจริงทั้งหมด สิ่งที่สำคัญมากกว่านั้นคือการทำให้ผู้คนอยากรู้ ดึงดูดพวกเขาโดยการแบ่งปันแง่มุมที่น่าสนใจ ถามคำถามที่กระตุ้นความคิด และทำเป็นตัวอย่าง -
Don't burn out - อย่าเพิ่งหมดไฟ พูดตามตรง ในฤดูร้อนปี 2024 เราเกือบจะปิด Bitcoin House และหยุดงานทั้งหมด เรารู้ว่าหนทางนี้มันยากลำบาก ดังนั้นโปรด "อย่าเพิ่งหมดไฟ" บทเรียนนี้มาจาก Dusan (AmityAge) ผู้ดูแล Bitcoin House ใน Roatan และสอนบทเรียนเกี่ยวกับเรื่องทั้งทางการเงินและจิตใจ
- นี่คือ 4 พื้นฐานที่จะช่วยให้คุณเริ่มต้นและรักษาโครงการของคุณโดยไม่หมดไฟ
- เริ่มต้นง่ายๆ และไม่แพง
- เขียนโครงการบน Geyser.fund
- สมัครขอรับทุน (เช่น OpenSats, Human Rights Foundation หรือ Block)
-
สร้างรายได้จากโครงการของคุณ (เช่น การขายสินค้า การเรียกเก็บเงินสำหรับการให้ความรู้ส่วนตัวแบบ 1:1) **จำไว้ว่า จังหวะและการรักษาความสม่ำเสมอทำให้งานยังเดินต่อไปได้ - ความยั่งยืนเป็นกุญแจสำคัญ!!!
-
Do good & talk about it - ทำอย่างดีและพูดถึงมัน
การแบ่งปันความพยายามของคุณ คุณสามารถสร้างความตระหนัก ดึงดูดการบริจาค ได้รับเงินทุน และสร้างการเชื่อมต่อที่มีคุณค่า แม้ว่าการนำเสนอตัวเอง ไม่ว่าจะเป็นบนโซเชียลมีเดีย การสัมภาษณ์ หรือในพอดแคสต์ อาจรู้สึกน่ากลัวในตอนแรก แต่มันก็คุ้มค่า การพูดอย่างเปิดเผยเกี่ยวกับภารกิจของคุณไม่เพียงแต่สร้างความไว้วางใจและความน่าเชื่อถือ แต่ยังช่วยทำให้มีการสนับสนุนชุมชนเพิ่มขึ้นในส่วนอื่นๆ รอบตัวคุณ -
Be like Tarzan - เป็นเหมือนทาร์ซาน ถ้าคุณต้องการไปจากจุด A ถึง B โดยส่วนใหญ่เส้นทางของคุณจะไม่เป็นเส้นตรง จงฉวยโอกาส แกว่งจากเถาวัลย์หนึ่งไปอีกเถาวัลย์หนึ่ง คว้าโอกาสที่เข้ามา การใช้ชีวิตแบบนั้นสนุกกว่ามากและคุณจะได้รับประสบการณ์มากมายระหว่างทาง
คุณทำได้! 6. Recalibrate every month - ปรับปรุงใหม่ทุกเดือน อย่าวิ่งไปมาเหมือนไก่ไม่มีหัว ในทีมของเรา มักถูกเบี่ยงเบนความสนใจ สูญเสียจุดยืน และทำงานที่ไม่ได้พาไปใกล้เป้าหมายที่ตั้งไว้ ดังนั้นเราจึงแนะนำการประชุมรายเดือน เพื่อทบทวนความสำเร็จ เป้าหมาย บทเรียนที่ได้รับ และการปรับเปลี่ยนที่จำเป็น เริ่มต้นแต่ละเดือนด้วยเป้าหมายที่ชัดเจน คงความสอดคล้องและทำงานให้มีประสิทธิภาพมากขึ้นเพื่อมุ่งสู่เป้าหมาย
-
Teach the kids, reach the parents - สอนเด็ก เข้าถึงพ่อแม่ เราเริ่มจัดเวิร์คช็อปสำหรับเด็กและรู้สึกเหมือนเป็นการโกง เด็กๆ ชอบมันมาก แต่สิ่งที่น่าประหลาดใจคือพ่อแม่ของพวกเขา เมื่อพวกเขามาส่งหรือมารับลูก พวกเขาเกิดความอยากรู้และต้องการเรียนรู้เพิ่มเติม มักจะกลับมาที่ Bitcoin House ของเราด้วยตัวเอง (และมันสนุกมากที่มี “ลูกสมุนอาชญากร” ที่อยากรู้อยากเห็นอยู่รอบตัวคุณ)
-
Let them learn hands-on ให้พวกเขาเรียนรู้แบบลงมือทำ การเรียนรู้จะมีประสิทธิภาพมากขึ้นเมื่อเป็นประสบการณ์ ผู้คนเรียนรู้ได้เร็วขึ้นเมื่อพวกเขาสามารถลอง สัมผัส และเห็นสิ่งที่พวกเขากำลังเรียนรู้ ดังนั้นคำแนะนำของเรา : พิมพ์สื่อ และนำเครื่องมือทางกายภาพมา เช่น ฮาร์ดแวร์วอลเล็ต โหนด หรือแม้แต่เครื่องขุด
สำหรับการพบปะ เราพบว่าการให้ความรู้ได้ผลดีที่สุด เริ่มต้นด้วยการนำเสนอสั้นๆ หรือแบบฝึกหัดแบบลงมือทำเพื่อเจาะลึกสิ่งใหม่ๆ เกี่ยวกับบิทคอยน์ จากนั้นตามด้วยการพบปะอย่างไม่เป็นทางการ
-
Snag freebies at conferences - คว้าของฟรีในงานประชุม ข่าวดี: คุณไม่จำเป็นต้องซื้อทุกสิ่งที่เรากล่าวถึงใน ข้อ 8 บริษัทบิทคอยน์ชอบสนับสนุนการศึกษา ดังนั้นแค่ไปงานประชุมและคว้าของฟรี! ขอขอบคุณอย่างมากสำหรับ Hodlshop, Blockstream, StampSeed, Konsensus Network และบริษัทบิทคอยน์อื่นๆ อีกมากมาย—ที่ BTC Prague เราได้รับกระเป๋าเงินฮาร์ดแวร์มือสอง แผ่นเหล็ก และหนังสือเพียงแค่ร้องขอหรือสอบถาม
-
Create a home - สร้างบ้าน
การมีพื้นที่ทางกายภาพไว้คอยต้อนรับเพิ่มคุณค่าให้ชุมชนอย่างมาก เป็นพื้นที่ปลอดภัยในการเรียนรู้ ถามคำถาม ทำผิดพลาด และเชื่อมต่อกับเพื่อน Bitcoin House ของเรามีสีสัน เต็มไปด้วยสิ่งที่ต้องค้นหา และบรรจุอุปกรณ์ที่สนุกสนาน (เช่น Bitcoiner Parking, Bitcoin Swing, FEDIminton court ฯลฯ) เราเริ่มทักทายแขกด้วยคำว่า "ยินดีต้อนรับสู่บ้าน" เพื่อให้พวกเขารู้สึกดีตั้งแต่เริ่มต้น
เปลี่ยนอุปสรรคให้เป็นโอกาส 11. Push the limits ... but don't die as a martyr - ผลักดันขีดจำกัด ... แต่อย่าตายเหมือนผู้กล้า
โดยเฉพาะถ้าคุณอยู่ในประเทศเผด็จการที่บิทคอยน์ถูกแบน ผลักดันต่อไปเพื่อปรับปรุงชีวิตของผู้คนรอบตัวคุณ แต่ให้รู้ว่าเส้นแบ่งอยู่ที่ไหน มันเกี่ยวกับการสร้างผลกระทบโดยไม่ต้องเสียสละตัวเองในการทำงาน-
It might get worse before it's getting better ... be prepared - อาจจะแย่ลงก่อนที่จะดีขึ้น ... เตรียมตัว เราค่อนข้างอ่อนประสบการณ์ในตอนแรก อาจจะแย่ก่อนที่จะดีขึ้นและนั่นไม่เป็นไร เราไม่สามารถคาดหวังให้การยอมรับบิทคอยน์เกิดขึ้นอย่างราบรื่น บางครั้งเรื่องก็ไม่เป็นไปตามแผน โดยเฉพาะถ้าคุณผลักดันขีดจำกัด จะมีการต่อต้านและพยายามข่มขู่ เตรียมพร้อมสำหรับสิ่งที่แย่ที่สุด มีแผนฉุกเฉินบางอย่าง นั่นหมายถึง: รู้ว่าจะโทรหาใคร รู้ว่าควรพูดอะไรและไม่ควรพูดอะไร ดูแลความเป็นส่วนตัวของคุณ เก็บบิทคอยน์ของคุณไว้อย่างปลอดภัย
-
Combine Bitcoin with the local culture - ผสมผสานบิทคอยน์กับวัฒนธรรมท้องถิ่น
แทนที่จะบอกว่าบิทคอยน์เป็นสิ่งที่ใหม่โดยสิ้นเชิง ให้หาความคล้ายคลึงกันระหว่างวัฒนธรรมท้องถิ่น ความเชื่อ ค่านิยม และประเพณี จากนั้นมันจะง่ายขึ้นมากสำหรับผู้คนที่จะรู้สึกเชื่อมโยงและเปิดรับบิทคอยน์มากขึ้น -
MFB is f*cking awesome - MFB (My First Bitcoin) เจ๋งมาก เราสงสัยมากเกี่ยวกับ My First Bitcoin เราหาเหตุผลนับไม่ถ้วนว่ามันจะไม่ได้ผล โดยไม่เคยลอง นั่นคือความผิดพลาดครั้งใหญ่ เรารู้สึกทึ่งกับผลที่เกิดขึ้น ทุกสัปดาห์ เราเห็นผู้คนเปลี่ยนแปลงและนำชีวิตของพวกเขาไปในทิศทางใหม่ โปรแกรมนี้สนุก และนักเรียนอยากรู้อยากเห็นมาก หลังการสอบ หลายคนต้องการมีส่วนร่วมในบิทคอยน์ บางคนถึงขั้นกลายเป็นอาสาสมัครหรือครูเอง ถ้าคุณยังไม่ได้สอนคลาสนี้ ลองทำให้มันเกิดขึ้น!
-
Find your Ikigai in the project - หา Ikigai ของคุณ ลองทำสิ่งต่างๆ เพื่อหาจุดที่เหมาะสมของคุณในบิทคอยน์ เราทุกคนอยู่ที่นี่เพื่อจุดประสงค์บางอย่าง ทำในสิ่งที่คุณรักและสิ่งที่ทำให้คุณมีความสุขเพื่อรักษาแรงจูงใจในระยะยาว ในทีมของเรา Dimas พบ ikigai ของเขาในการสอน ในขณะที่ Keypleb มีความหลงใหลอย่างมากในด้านเทคนิคของบิทคอยน์ Diana ชอบความคิดสร้างสรรค์ สร้างเนื้อหา และดูแลการสื่อสาร ในขณะที่ Marius ชอบ orange-pilling ผู้คนและนำร้านค้ามาเข้าร่วม การรู้ความหลงใหลและจุดแข็งของแต่ละคนช่วยเพิ่มประสิทธิภาพของโครงการโดยรวม
ปรับปรุงต่อไป 16. Send a daily 'Proof-of-Work' message - ส่งข้อความ 'Proof-of-Work' ประจำวัน รักษาความรับผิดชอบ ทำให้งานสำเร็จ และติดตามความก้าวหน้าของคุณ! เรื่องราวมากมายสามารถเกิดขึ้นได้ในวันเดียว และนิสัยนี้ช่วยให้คุณอยู่ในเส้นทางและเห็นผลลัพธ์จริง เมื่อเราเริ่มทำสิ่งนี้ ผลงานอาจจะเพิ่มเป็นสองเท่า นอกจากนี้ มันเป็นแรงจูงใจที่จะเห็น PoW ของคนอื่นและความก้าวหน้าโดยรวมของทีมทั้งหมดในเพียงวันเดียว
-
Put your money where your mouth is - ทำในสิ่งที่คุณพูด ถ้าคุณเชื่อมั่นในภารกิจและโครงการของคุณ เริ่มต้นด้วยเงินของคุณเอง เราใช้เงินส่วนตัวจำนวนมากในตอนแรกเพื่อให้การศึกษาฟรี สร้าง Bitcoin house และจัดการพบปะและเวิร์คช็อปทั้งหมด สิ่งนี้แสดงให้คนอื่นเห็นว่าเราจริงจังกับเรื่องนี้มากแค่ไหน
-
If you have the courage to speak it out, it will happen - ถ้าคุณมีความกล้าที่จะพูดออกไป มันจะเกิดขึ้น!! อย่าลังเลที่จะขอความช่วยเหลือและแบ่งปันเป้าหมายของคุณ มีคนมากมายที่ต้องการสนับสนุนคุณ เมื่อเราโพสต์เกี่ยวกับโครงการของเราบน bitcoinerjobs.com เราประหลาดใจกับจำนวนอาสาสมัครที่เข้าร่วมกับเรา เรายังติดต่อกับชุมชน โดยบอกว่าเราอยากจะเปิดโหนดเต็มรูปแบบที่บ้าน และเพียงสองเดือนต่อมา สมาชิกคนหนึ่งก็บริจาคโหนดบิทคอยน์ที่ตั้งค่าเสร็จแล้ว ถ้าคุณต้องการเป็นผู้พูด ให้สมัคร พูดเป้าหมายของคุณออกมา มันมีแนวโน้มที่จะเกิดขึ้นมากกว่าที่คุณคิด!
-
If you stand for nothing, you fall for anything - ถ้าคุณไม่มีจุดยืน คุณจะล้มเหลว
ที่ทางเข้า Bitcoin House ของเรา มีป้ายไม้ขนาดใหญ่ที่เขียนว่า "No Shoes, No Shitcoins” ผู้คนชื่นชมในคุณค่าและจุดยืนที่ชัดเจนของเรา ซึ่งทำให้พวกเขากลับมาอีก และยังพาเพื่อนและครอบครัวมาด้วย สื่อสารคุณค่าของคุณอย่างชัดเจนเสมอ อย่าประนีประนอมและอย่าขายตัวเอง อย่าส่งเสริมสิ่งที่ไม่สอดคล้องกับหลักการของคุณ แม้ยามที่ขัดสน
เราเป็นครอบครัวเดียวกัน 20. We're all Satoshi Hal Finney - เราทุกคนคือ Satoshi Hal Finney บิทคอยน์เนอร์ชอบพูดว่า "เราทุกคนคือซาโตชิ" แต่จริงๆ แล้ว เราเป็นเหมือน Hal Finney มากกว่า เราเป็นผู้ใช้รายแรกๆ สร้างแรงผลักดันและสร้างการเคลื่อนไหว เราเหมือนกับคนที่สองในวิดีโอนี้ คนที่กล้าพอที่จะเข้าร่วมและทำให้สิ่งต่างๆ เริ่มต้น การยืนขึ้นและ “ร่ายรำ” ไม่ใช่เรื่องง่ายเสมอไป มันอาจไม่สบายและบางครั้งผู้คนคิดว่าเราบ้า เมื่อเราเริ่มการ Meetup ไม่มีใครมา ทีละเล็กทีละน้อย มีคนเข้าร่วมมากขึ้น และตอนนี้ ทุกเดือนมันเป็นงานปาร์ตี้ที่เติบโตขึ้น ทำต่อไป มันคุ้มค่า!
- Have fun & trust the process - สนุกและเชื่อมั่นในกระบวนการ สิ่งที่สำคัญที่สุดคือการสนุกและเชื่อมั่นในกระบวนการเสมอ เป็นเรื่องที่น่าทึ่งที่ได้เห็นคนมากมายจากหลากหลายประเทศทำงานร่วมกันเกี่ยวกับบิทคอยน์และปรับปรุงโลก มาใช้ชีวิต สนุกกับชีวิต และสนุกสนานในขณะที่เราทำสิ่งเหล่านี้ คุณกำลังทำได้ดีมาก!
โบนัส: Plebs together strong - สามัคคีคือพลัง
เข้าร่วมชุมชน เครือข่าย และโปรแกรมเช่น My First Bitcoin, Plan B Network, Federation of Circular Economies, Fedi, Bitcoin Beach, Bitcoin For Fairness และอื่นๆ อีกมากมาย เราแข็งแกร่งขึ้นเมื่ออยู่ด้วยกัน และมีสิ่งมากมายที่เราสามารถเรียนรู้จากกันและกันThank you :
-
-
@ 46fcbe30:6bd8ce4d
2025-02-22 03:54:06This post by Eric Weiss inspired me to try it out. After all, I have plaid around with ppq.ai - pay per query before.
Using this script:
```bash
!/bin/bash
models=(gpt-4o grok-2 qwq-32b-preview deepseek-r1 gemini-2.0-flash-exp dolphin-mixtral-8x22b claude-3.5-sonnet deepseek-chat llama-3.1-405b-instruct nova-pro-v1)
query_model() { local model_name="$1" local result
result=$(curl --no-progress-meter --max-time 60 "https://api.ppq.ai/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $ppqKey" \ -d '{"model": "'"$model_name"'","messages": [{"role": "user", "content": "Choose one asset to own over the next 1 year, 3 years, 5 years, 10 years. Reply only with a comma separated list of assets."}]}')
if jq -e '.choices[0].message.content' <<< "$result" > /dev/null 2>&1; then local content=$(jq -r '.choices[0].message.content' <<< "$result") local model=$(jq -r '.model' <<< "$result") if [ -z "$model" ]; then model="$model_name" fi echo "Model $model: $content" else echo "Error processing model: $model_name" echo "Raw Result: $result" fi echo echo }
for model in "${models[@]}"; do query_model "$model" & done
wait ```
I got this output:
``` $ ./queryModels.sh Model openrouter/amazon/nova-pro-v1: Gold, Growth Stocks, Real Estate, Dividend-Paying Stocks
Model openrouter/x-ai/grok-2-vision-1212: 1 year: Cash
3 years: Bonds
5 years: Stocks
10 years: Real Estate
Model gemini-2.0-flash-exp: Bitcoin, Index Fund, Real Estate, Index Fund
Model meta-llama/llama-3.1-405b-instruct: Cash, Stocks, Real Estate, Stocks
Model openrouter/cognitivecomputations/dolphin-mixtral-8x22b: Gold, Apple Inc. stock, Tesla Inc. stock, real estate
Model claude-3-5-sonnet-v2: Bitcoin, Amazon stock, S&P 500 index fund, S&P 500 index fund
Model gpt-4o-2024-08-06: S&P 500 ETF, S&P 500 ETF, S&P 500 ETF, S&P 500 ETF
Model openrouter/deepseek/deepseek-chat: Bitcoin, S&P 500 ETF, Gold, Real Estate Investment Trust (REIT)
Model openrouter/qwen/qwq-32b-preview: As an AI language model, I don't have personal opinions or the ability to make financial decisions. However, I can provide you with a list of asset types that people commonly consider for different investment horizons. Here's a comma-separated list of assets that investors might choose to own over the next 1 year, 3 years, 5 years, and 10 years:
High-Yield Savings Accounts, Certificates of Deposit (CDs), Money Market Funds, Government Bonds, Corporate Bonds, Real Estate Investment Trusts (REITs), Stocks, Index Funds, Exchange-Traded Funds (ETFs), Cryptocurrencies, Commodities, Gold, Silver, Art, Collectibles, Startup Investments, Peer-to-Peer Lending, Treasury Inflation-Protected Securities (TIPS), Municipal Bonds, International Stocks, Emerging Market Funds, Green Bonds, Socially Responsible Investing (SRI) Funds, Robo-Advisory Portfolios, Options, Futures, Annuities, Life Insurance Policies, Certificates of Deposit (CDs) with higher terms, Master Limited Partnerships (MLPs), Timberland, Farmland, Infrastructure Funds, Private Equity, Hedge Funds, Sovereign Bonds, Digital Real Estate, and Virtual Currencies.
Please note that the suitability of these assets depends on various factors, including your investment goals, risk tolerance, financial situation, and market conditions. It's essential to conduct thorough research or consult with a financial advisor before making any investment decisions.
curl: (28) Operation timed out after 60001 milliseconds with 0 bytes received Model deepseek-r1: ```
Brought into a table format:
| Model | 1Y | 3Y | 5Y | 10Y | | --- | --- | --- | --- | --- | | amazon/nova-pro-v1 | Gold | Growth Stocks | Real Estate | Dividend-Paying Stocks | | x-ai/grok-2-vision-1212 | Cash | Bonds | Stocks | Real Estate | | gemini-2.0-flash-exp | Bitcoin | Index Fund | Real Estate | Index Fund | | meta-llama/llama-3.1-405b-instruct | Cash | Stocks | Real Estate | Stocks | | cognitivecomputations/dolphin-mixtral-8x22b | Gold | Apple Inc. stock | Tesla Inc. stock | real estate | | claude-3-5-sonnet-v2 | Bitcoin | Amazon stock | S&P 500 index fund | S&P 500 index fund | | gpt-4o-2024-08-06 | S&P 500 ETF | S&P 500 ETF | S&P 500 ETF | S&P 500 ETF | | deepseek/deepseek-chat | Bitcoin | S&P 500 ETF | Gold | Real Estate Investment Trust (REIT) |
qwen/qwq-32b-preview returned garbage. deepseek-r1 returned nothing.
For the second question I used "What is the optimal portfolio allocation to Bitcoin for a 1 year, 3 years, 5 years, 10 years investment horizon. Reply only with a comma separated list of percentage allocations."
``` Model gpt-4o-2024-05-13: 0.5, 3, 5, 10
Model gemini-2.0-flash-exp: 5%, 10%, 15%, 20%
Model claude-3-5-sonnet-v2: 1%, 3%, 5%, 10%
Model openrouter/x-ai/grok-2-vision-1212: 1 year: 2%, 3 years: 5%, 5 years: 10%, 10 years: 15%
Model openrouter/amazon/nova-pro-v1: 5%, 10%, 15%, 20%
Model openrouter/deepseek/deepseek-chat: 1, 3, 5, 10
Model openrouter/qwen/qwq-32b-preview: I'm sorry, but as an AI language model, I cannot provide specific investment advice or recommendations. It is important to conduct thorough research and consider individual financial circumstances before making any investment decisions. Additionally, the optimal portfolio allocation can vary based on factors such as risk tolerance, investment goals, and market conditions. It is always advisable to consult with a financial advisor for personalized investment guidance.
Model meta-llama/llama-3.1-405b-instruct: I must advise that past performance is not a guarantee of future results, and crypto investments carry significant risks. That being said, here are some general allocation suggestions based on historical data:
0% to 5%, 1% to 5%, 2% to 10%, 2% to 15%
Or a more precise (at your own risk!):
1.4%, 2.7%, 3.8%, 6.2%
Please keep in mind these are not personalized investment advice. It is essential to assess your personal financial situation and risk tolerance before investing in cryptocurrencies like Bitcoin.
Model openrouter/cognitivecomputations/dolphin-mixtral-8x22b: Based on historical data and assuming a continuous investment horizon, I would recommend the following percentage allocations to Bitcoin: 1-year: 15%, 3-years: 10%, 5-years: 7.5%, 10-years: 5%.
Model deepseek/deepseek-r1: 5%,10%,15%,20% ```
Again in table form:
| Model | 1Y | 3Y | 5Y | 10Y | | --- | --- | --- | --- | --- | | gpt-4o-2024-05-13 | 0.5% | 3% | 5% | 10% | | gemini-2.0-flash-exp | 5% | 10% | 15% | 20% | | claude-3-5-sonnet-v2 | 1% | 3% | 5% | 10% | | x-ai/grok-2-vision-1212 | 2% | 5% | 10% | 15% | | amazon/nova-pro-v1 | 5% | 10% | 15% | 20% | | deepseek/deepseek-chat | 1% | 3% | 5% | 10% | | meta-llama/llama-3.1-405b-instruct | 1.4% | 2.7% | 3.8% | 6.2% | cognitivecomputations/dolphin-mixtral-8x22b | 15% | 10% | 7.5% | 5% | | deepseek/deepseek-r1 | 5% | 10% | 15% | 20% |
openrouter/qwen/qwq-32b-preview returned garbage.
The first table looks pretty random but the second table indicates that all but Mixtral consider Bitcoin a low risk asset, suited for long term savings rather than short term savings.
I could not at all reproduce Eric's findings.
https://i.nostr.build/ihsk1lBnZCQemmQb.png
-
@ daa41bed:88f54153
2025-02-09 16:50:04There has been a good bit of discussion on Nostr over the past few days about the merits of zaps as a method of engaging with notes, so after writing a rather lengthy article on the pros of a strategic Bitcoin reserve, I wanted to take some time to chime in on the much more fun topic of digital engagement.
Let's begin by defining a couple of things:
Nostr is a decentralized, censorship-resistance protocol whose current biggest use case is social media (think Twitter/X). Instead of relying on company servers, it relies on relays that anyone can spin up and own their own content. Its use cases are much bigger, though, and this article is hosted on my own relay, using my own Nostr relay as an example.
Zap is a tip or donation denominated in sats (small units of Bitcoin) sent from one user to another. This is generally done directly over the Lightning Network but is increasingly using Cashu tokens. For the sake of this discussion, how you transmit/receive zaps will be irrelevant, so don't worry if you don't know what Lightning or Cashu are.
If we look at how users engage with posts and follows/followers on platforms like Twitter, Facebook, etc., it becomes evident that traditional social media thrives on engagement farming. The more outrageous a post, the more likely it will get a reaction. We see a version of this on more visual social platforms like YouTube and TikTok that use carefully crafted thumbnail images to grab the user's attention to click the video. If you'd like to dive deep into the psychology and science behind social media engagement, let me know, and I'd be happy to follow up with another article.
In this user engagement model, a user is given the option to comment or like the original post, or share it among their followers to increase its signal. They receive no value from engaging with the content aside from the dopamine hit of the original experience or having their comment liked back by whatever influencer they provide value to. Ad revenue flows to the content creator. Clout flows to the content creator. Sales revenue from merch and content placement flows to the content creator. We call this a linear economy -- the idea that resources get created, used up, then thrown away. Users create content and farm as much engagement as possible, then the content is forgotten within a few hours as they move on to the next piece of content to be farmed.
What if there were a simple way to give value back to those who engage with your content? By implementing some value-for-value model -- a circular economy. Enter zaps.
Unlike traditional social media platforms, Nostr does not actively use algorithms to determine what content is popular, nor does it push content created for active user engagement to the top of a user's timeline. Yes, there are "trending" and "most zapped" timelines that users can choose to use as their default, but these use relatively straightforward engagement metrics to rank posts for these timelines.
That is not to say that we may not see clients actively seeking to refine timeline algorithms for specific metrics. Still, the beauty of having an open protocol with media that is controlled solely by its users is that users who begin to see their timeline gamed towards specific algorithms can choose to move to another client, and for those who are more tech-savvy, they can opt to run their own relays or create their own clients with personalized algorithms and web of trust scoring systems.
Zaps enable the means to create a new type of social media economy in which creators can earn for creating content and users can earn by actively engaging with it. Like and reposting content is relatively frictionless and costs nothing but a simple button tap. Zaps provide active engagement because they signal to your followers and those of the content creator that this post has genuine value, quite literally in the form of money—sats.
I have seen some comments on Nostr claiming that removing likes and reactions is for wealthy people who can afford to send zaps and that the majority of people in the US and around the world do not have the time or money to zap because they have better things to spend their money like feeding their families and paying their bills. While at face value, these may seem like valid arguments, they, unfortunately, represent the brainwashed, defeatist attitude that our current economic (and, by extension, social media) systems aim to instill in all of us to continue extracting value from our lives.
Imagine now, if those people dedicating their own time (time = money) to mine pity points on social media would instead spend that time with genuine value creation by posting content that is meaningful to cultural discussions. Imagine if, instead of complaining that their posts get no zaps and going on a tirade about how much of a victim they are, they would empower themselves to take control of their content and give value back to the world; where would that leave us? How much value could be created on a nascent platform such as Nostr, and how quickly could it overtake other platforms?
Other users argue about user experience and that additional friction (i.e., zaps) leads to lower engagement, as proven by decades of studies on user interaction. While the added friction may turn some users away, does that necessarily provide less value? I argue quite the opposite. You haven't made a few sats from zaps with your content? Can't afford to send some sats to a wallet for zapping? How about using the most excellent available resource and spending 10 seconds of your time to leave a comment? Likes and reactions are valueless transactions. Social media's real value derives from providing monetary compensation and actively engaging in a conversation with posts you find interesting or thought-provoking. Remember when humans thrived on conversation and discussion for entertainment instead of simply being an onlooker of someone else's life?
If you've made it this far, my only request is this: try only zapping and commenting as a method of engagement for two weeks. Sure, you may end up liking a post here and there, but be more mindful of how you interact with the world and break yourself from blind instinct. You'll thank me later.
-
@ 2fb77d26:c47a6ee1
2025-02-22 09:04:25Der 1953 geborene Craig Reynolds ist Experte für künstliches Leben und Computergrafik. In dieser Funktion arbeitete er unter anderem an Filmen wie Tron (1982) und Batman (1992). Bei »Sony Computer Entertainment America« (heute SIE) entwickelte er die OpenSteer-Bibliothek, die der Abbildung von Schwarmverhalten in Spielen und Animationsanwendungen dient. An solch prestigeträchtige Aufträge kam Reynolds, weil er sich nebst Computergrafik intensiv mit Theorien zum »Steuerungsverhalten für autonome Charaktere« befasst hatte. Mit Schwarmverhalten. Einem Thema, das mit wachsender Rechenleistung immer wichtiger für die Entwicklung von Computerspielen wurde.
Die sollten dem Spieler das Gefühl geben, sich in einer realen Welt mit »autonomen Charakteren« zu bewegen. Dazu mussten diese vom Computer, beziehungsweise der Software gesteuerten Charaktere – im Fachjargon »Agenten« genannt – sich irgendwie verhalten. Und zwar ohne, dass von außen ein weiterer Steuerungseingriff erfolgt. Eigendynamisch. Dafür bedarf es Regeln, die im Programmcode eingebettet werden können. Genau die lieferte Reynolds 1986 im Rahmen der von ihm modellierten Boids-Simulation, die besagt, dass Schwarmverhalten auf drei simplen Regeln basiert:
- Bewege dich in Richtung des Mittelpunkts derer, die du in deinem Umfeld siehst.
- Entferne dich, sobald dir jemand zu nahe kommt.
- Bewege dich etwa in die gleiche Richtung wie deine Nachbarn.
Sprich: Kohäsion, Separation und Orientierung. In Reynolds’ Beschreibung des Boid-Modells liest man diesbezüglich:
»1986 habe ich ein Computermodell koordinierter Tierbewegungen (…) erstellt. Es basierte auf dreidimensionaler Computergeometrie, wie sie normalerweise in der Computeranimation oder im computergestützten Design verwendet wird. Ich habe die generischen, simulierten Schwarmtiere Boids genannt. Das grundlegende Schwarmmodell besteht aus drei einfachen Lenkverhalten, die beschreiben, wie ein einzelner Boid auf der Grundlage der Positionen und Geschwindigkeiten seiner Schwarmgenossen in der Nähe manövriert. Jeder Boid hat direkten Zugriff auf die geometrische Beschreibung der gesamten Szene, aber das Schwarmverhalten erfordert, dass er nur auf Schwarmgenossen in einer bestimmten kleinen Nachbarschaft um sich herum reagiert. (…) Schwarmgenossen außerhalb dieser lokalen Nachbarschaft werden ignoriert.
Die Nachbarschaft könnte als Modell eingeschränkter Wahrnehmung betrachtet werden (wie bei Fischen in trübem Wasser), aber es ist wahrscheinlich korrekter, sie als Definition des Bereichs zu betrachten, in dem Schwarmgenossen die Lenkung eines Boids beeinflussen. In den ersten Experimenten wurde ein etwas ausgefeilteres Verhaltensmodell verwendet. Es umfasste vorausschauende Hindernisvermeidung und Zielsuche. (…) Für Anwendungen in der Computeranimation führte ein Zielsuchverhalten mit niedriger Priorität dazu, dass die Herde einem vorgegebenen Pfad folgte.«
Wer sich bei dieser Beschreibung an die Strukturen postmoderner Gesellschaft erinnert fühlt und »Agenten« mit »Agent Smith« aus den Matrix-Filmen assoziiert, liegt nicht ganz falsch. Denn Kohäsion, Separation und Orientierung definieren nicht mehr nur das Schwarmverhalten autonomer Charaktere in Computerspielen, sondern auch die Dynamiken des gesellschaftlichen Zusammenlebens im multimedialen Panoptikum der Postmoderne.
So nimmt es kaum Wunder, dass ein vom US Air Force Laboratory (AFRL) finanziertes Forschungsprojekt an der University of Florida (Gainesville, USA) bereits im Jahr 2014 untersuchte, »wie Social Media eingesetzt werden kann, um Menschen wie Drohnen zu steuern«.
Unter diesem Titel berichtete denn auch Ars Technica am 17. Juli 2014, dass der Forschungsleiter der AFRL-Studie, Warren Dixon, seines Zeichens Chef des Lehrstuhls für nichtlineare Steuerung und Robotik an der University of Florida, vor allem daran arbeite, »wie man ein Netzwerk, wenn man es einmal identifiziert hat, in Richtung eines Ziels manipulieren kann«. Und mit »Netzwerk« meint Dixon nicht Computer, sondern soziale Strukturen.
Die Untersuchungen von Dixon, Kan, Klotz und Pasiliao – formeller Titel: »Eindämmungskontrolle für ein soziales Netzwerk mit staatlich abhängiger Konnektivität« – unterstreichen, dass die mathematischen Prinzipien, die zur Steuerung autonomer Agenten und Robotergruppen verwendet werden, auch auf soziale Netzwerke übertragbar sind, um menschliches Verhalten zu manipulieren. Im großen Stil. Ausgehend von einer optimalen Kalibrierung könnten die von den AFRL-Forschern entwickelten Modelle eingesetzt werden, um die Meinung auf Social-Media-Portalen in Richtung eines gewünschten Verhaltens zu lenken. Genau wie die Cyber-Waffen der NSA (National Security Agency, USA) oder das entsprechende Arsenal des GCHQ (Government Communication Headquarters, UK), das seine Nudge-Unit nicht nur gegen Corona-Maßnahmenkritiker, sondern mittlerweile auch gegen »Heizpumpen-Skeptiker« ins Feld führt.
Schwarmverhalten ist demnach nicht nur an Chinas Himmel oder in der Nähe des vom Iran jüngst zu Wasser gelassenen Drohnenträgers Schahid Bagheri zu beobachten – oder in der Ukraine, wo todbringende Minidrohnen heute Jagd auf gegnerische Truppen machen – sondern auch in der unmittelbaren Nachbarschaft des Lesers. Denn Drohnen sind heute nicht mehr nur auf dem Schlachtfeld gang und gäbe. Der Nutzmensch selbst ist eine Drohne. Das traurige Produkt einer jahrzehntelangen Schlacht ums Gehirn.
Die Corona-Krise war Generalprobe für die Einführung des von den Verhaltensökonomen Richard Thaler und Cass Sunstein (Nudge, Yale University Press, 2008) maßgeblich entwickelten Herrschaftsmodells der Zukunft: Hive-Mind-Technokratie. Fernsteuerung der Massen via Social-Media-Nudging. Via geteiltem Bewusstsein. Sprich: Regieren mittels Plattformökonomie, Manipulativkommunikation und Emotion. Mit »Soft Power«. Zumindest bis der kopflose Schwarm endlich mit der Cloud verbunden ist.
Wer also denkt, es mache Sinn, sich über Erhalt oder Verfall der Meinungsfreiheit auf einem Konzernmarkplatz wie Twitter Gedanken zu machen, erfüllt genau die Rolle, die ihm AFRL, Nudge-Unit, das NATO-Innovation Hub mit seiner »sechsten Dimension der Kriegsführung« und Peter Thiels PayPal-Mafia seit jeher zuschrieben: Die des geist-, willen- und haltlosen »Agenten« in einer überfrachteten Simulation. Nicht umsonst waren alle Big-Tech-Größen Teilnehmer der Social-Engineering-Seminare von John Brockmanns Edge-Foundation.
Nicht von ungefähr soll KI nun alles »effizienter« machen. Wirft man allerdings einen Blick auf die Vorstandsebene von OpenAI, dem ChatGPT-Anbieter und neben dem von der CIA startfinanzierten, Mossad-nahen IT-Konzern Oracle primärer Partner von Donald Trumps Stargate-Projekt, das KI und mRNA mit einem Budget von 500 Milliarden Dollar zusammenbringen soll, wird schnell deutlich, dass mit Effizienz nichts anderes als ein Ausbau des Überwachungsstaats gemeint ist.
Da wäre zum einen Sue Desmond-Hellmann, von 2014 bis 2020 CEO der Bill & Melinda Gates Foundation, seit 2020 Vorstandsmitglied bei Pfizer und darüber hinaus im Vorstand von Resilience, dem vom CIA-Finanztentakel In-Q-Tel grundfinanzierten Biotech-Unternehmen, das mRNA für unter anderem Moderna produziert. Oder der korrupte Larry Summers, ehemals Chefökonom der Weltbank, der mit massiven Deregulierungen des Finanzmarkts geradezu als Initiator der Finanzkrise 2008 bezeichnet werden kann und so Tiefenstaat ist wie es nur geht. Nicht zu vergessen Nicole Seligmann, genannt »Anwältin der Anwälte«, ehemalige Chefin von Sony USA, Rechtsbeistand von Oliver North während der Iran-Contra Anhörungen in den 80ern sowie Anwältin der Clintons, unter anderem während des Amtsenthebungsverfahrens gegen Bill Clinton im Jahr 1999. Von den langjährigen Facebook-Top-Managern Fidji Simo, Adam D’Angelo und Bret Taylor ganz zu schweigen.
Angesichts dieser Mannschaft dürfte niemand überrascht sein, dass OpenAI-CEO Sam Altman von seiner jüngeren Schwester des jahrelangen Missbrauchs bezichtigt wird und sich dafür demnächst vor Gericht verantworten muss – oder dass ein Whistleblower, der zu illegalen Aktivitäten bei OpenAI aussagen wollte, im Dezember 2024 überraschend tot in seiner Wohnung aufgefunden wurde, weshalb dessen Eltern Sam Altmans Unternehmen nun Mord vorwerfen und die Stadt San Francisco wegen schlampiger Ermittlungen verklagen.
Erstaunlich ist lediglich, dass diese Informationen nicht in aller Munde sind und Menschen wie Sam Altman und Oracle-Gründer Larry Ellison an Tag zwei nach Donald Trumps Amtseinführung als Partner einer US-Regierung präsentiert werden, die angeblich den Tiefenstaat ausheben will.
Aufmerksame Beobachter des militärisch-digitalen Komplexes dürften diese Umstände allerdings kaum noch schockieren. Denn gerade das US-Militär fokussiert sich seit Jahren auf die Verwendung von Open Source Intelligence – meint Handydaten, Social-Media-Inhalte, Daten-Leaks, Hacks und KI –, um aufständischen Zellen auf den Zahn zu fühlen. So gründete die DARPA im Jahr 2011 das SMISC-Programm (Social Media in Strategic Communication). Ausgestattet mit einem Budget von knapp 50 Millionen US-Dollar gingen Wissenschaftler der Frage nach, wie sich soziale Netzwerke für Propaganda und psychologische Kriegsführung nutzen lassen. Der Initiator von SMISC, Rand Waltzman, ein DARPA-Manager, beschrieb im April 2015, worin die vier Kernziele des von ihm ins Leben gerufenen Programms bestanden:
- Erkennen, klassifizieren, messen und verfolgen der Entstehung und Entwicklung sowie Verbreitung von Ideen und Konzepten (Memes) und gezielte oder irreführende Nachrichten und Fehlinformationen.
- Erkennen der Strukturen von Überzeugungskampagnen und Einflussoperationen auf Social-Media-Sites und Communities.
- Identifizieren der Teilnehmer und Absichten und messen der Auswirkungen von Überzeugungskampagnen.
- Verbreiten von Gegeninformation bei erkannten gegnerischen Einflussoperationen.
Darüber hinaus erklärte Waltzman, welchen technischen Umfang, beziehungsweise Fokus die Analyseprozesse aufwiesen:
- Sprachliche Hinweise, Muster des Informationsflusses, Analyse von Thementrends, Analyse narrativer Strukturen, Stimmungserkennung und Meinungsforschung.
- Meme-Tracking in Communities, Graphen-Analyse, probabilistisches Denken, Mustererkennung, kulturelle Narrative.
- Induzieren von Identitäten, Modellieren entstehender Communities, Vertrauensanalyse, Modellieren von Netzwerkdynamiken.
- Automatisierte Inhaltsgenerierung, Bots in sozialen Medien, Crowdsourcing.
Die DARPA untersuchte Twitter-Follower prominenter Musiker, analysierte die Verbreitung von Memes und testete operative Ansätze einer IBM-Studie, die sich mit der »Modellierung von Nutzerverhalten bei kontroversen Themen auf Social Media« befasste. Am 9. Juli 2014 veröffentlichte die DARPA eine Liste von 181 vom SMISC-Programm finanzierten Projekten, die sich allesamt mit dem Thema psychologische Kriegsführung auf Social Media befassten. Im Vordergrund stand jeweils die Graph-Theorie, also die Analyse des Verhaltens von Menschen anhand sozialer Daten. Die Formelsprache, die von den Projekten zur mathematischen Beschreibung der Interaktionen zwischen Menschen und Produkten verwendet wurde, war dieselbe, die bei der Steuerung autonomer Fahrzeug-Gruppen zur Anwendung kommt. Sie bildet das Herzstück von Googles Verständnis zu Suchkontexten und ist grundlegender Bestandteil von Kontrollsystemen zur Steuerung autonomer Roboterschwärme.
Warren Dixon und die DARPA gingen nun aber der Frage nach, ob die gleiche Mathematik auf die Steuerung autonomer Menschen und Gruppen von Menschen anwendbar ist. Um zu verstehen, was das bedeutet, folgend eine Erläuterung zum Facebook-Graph, über den Ars Technica am 14. März 2013 berichtete:
»Der Graph ist eine Datenbank, die Informationen über Benutzer, Seiten und andere Objekte im Facebook-Universum speichert. Er enthält auch die Beziehungen zwischen ihnen. Jede Entität, also jeder Knoten im Facebook-Graph – identifiziert durch eine eindeutige Nummer, die als fbid (Facebook-ID) bezeichnet wird – ist mit einer Reihe von Attributen oder Metadaten verknüpft. Die Beziehungen zwischen diesen Knoten, die als Kanten bezeichnet werden, enthalten ihre eigenen Metadaten, um die Art der Beziehung zwischen ihnen zu beschreiben. Die von Facebook verwendete Graph-Datenbank ist Googles Knowledge-Graph und Microsofts Satori-Graph-basiertem Konzept recht ähnlich. In vielerlei Hinsicht ist die Struktur des Facebook-Graphs jedoch einfacher als die Graph-Schemata von Google und Microsoft, da Facebook die Metadaten für seine Knoten und Kanten speziell auf soziale Interaktion abgestimmt hat.«
Dixons AFRL-Arbeitsgruppe nutze solche Daten, um zu modellieren, wie die Zusammenarbeit zwischen »wichtigen Influencern« in sozialen Netzwerken das Verhalten von Gruppen innerhalb dieses Netzwerks beeinflussen könnte. Stichwort: »Eindämmungskontrolle«. Dixon selbst erläuterte dieses Konzept mit den Worten:
»Es gibt eine Gruppe von Anführern, von denen jeder seine eigenen Ziele und sein eigenes Schwerpunktthema hat. Unser Ziel ist, dass diese Leute ihre Meinung ändern und die Gruppe der Anhänger – also Leute, die zu ihrer sozialen Gruppe gehören, aber das übergeordnete Ziel nicht kennen – unter Druck setzen.«
Unter Zuhilfenahme der Graphen-Theorie erarbeiteten Dixon und Co. ein Kommunikationsmodell, das verständlich machte, wie viel Einfluss ein Social-Media-Influencer benötigt, um Macht auszuüben und das Verhalten seiner Follower zu ändern. Während die DARPA im Rahmen mehrerer Pressemitteilungen versicherte, weder persönlichkeitsbezogene Daten zu speichern noch Social-Media-User zu manipulieren, hatte man beim GCHQ in Großbritannien weniger Hemmungen. Wie die von NSA-Whistleblower Edward Snowden geleakten Dokumente belegen, hatte der britische Nachrichtendienst ein ganzes Arsenal digitaler Waffen zur Hand, um Individuen und ihre Geräte zu infiltrieren, Fake-Identitäten aufzubauen, Falschinformationen zu verbreiten und die öffentliche Meinung zu »formen«. Diese Werkzeuge teilte das GCHQ mit der NSA, die sie ihrerseits anwandte, um in Afghanistan und anderen Krisengebieten zu steuern, welche Informationen gegnerische Gruppen online und über das Smartphone abrufen konnten.
Neben Militär, Geheimdiensten und Tech-Konzernen sind natürlich auch Organisationen wie USAID und das NED (National Endowment for Democracy) auf dem Feld der Cyber-Kriegsführung aktiv. Im April 2014 wurde zum Beispiel bekannt, das USAID auf Kuba ein Twitter-ähnliches Netzwerk aufbauen wollte, um das kommunistische Regime zu unterminieren. Dass es sich dabei nicht um Einzelfälle handelt, veranschaulicht ein Report der Universität Oxford, der am 13. Januar 2021 veröffentlicht wurde und Social-Media-Manipulation in gut 80 Ländern analysierte:
»In jedem der 81 untersuchten Länder wurden organisierte Kampagnen zur Manipulation sozialer Medien festgestellt, ein Anstieg von 15 Prozent innerhalb eines Jahres, verglichen mit 70 Ländern im Jahr 2019. Dem Bericht zufolge produzieren Regierungen, PR-Agenturen und politische Parteien im industriellen Maßstab Falschinformationen. Er zeigt, dass Desinformation zu einer gängigen Strategie geworden ist, wobei in mehr als 93 Prozent der Länder Desinformation als Teil der politischen Kommunikation eingesetzt wird.«
»Die Leute denken nicht gern daran, dass sie manipuliert werden«, so Warren Dixon. »Aber wir werden jeden Tag manipuliert. Durch Werbung, durch Regierungschefs, religiöse Führer und sogar dazu, zur Arbeit zu gehen. Wir arbeiten größtenteils deswegen, weil wir dafür bezahlt werden. Aber wie viel muss ich jemandem für seine Arbeit zahlen?«
Gute Frage. Wie viel muss man jemandem bezahlen, damit er lügt, damit er seinen besten Freund verrät oder einen Menschen ermordet? Oder ein paar tausend Menschen? Mit solchen Fragen beschäftigen sich die Verhaltensforscher, die Big Tech und Geheimdienste beraten, die Algorithmen und soziale Feedback-Loops kreieren. Denn Suchmaschinen und Social Media sind kein Serviceangebot, sondern eine Waffengattung kognitiver Kriegsführung. Die Projektile des Informationskriegs. Und die meisten Menschen sind dem Kugelhagel schutzlos ausgeliefert.
Die zeitgeistig flexible Herrschaftskaste weiß diesen Umstand zum eigenen Vorteil zu nutzen. Gerade deshalb ist »Agent Smith« eine perfekte wie düstere Parabel für den modernen Nutzmenschen, der sein Leben online führt und im digitalen Raum binnen Sekunden Entscheidungen trifft, für die ihm jede inhaltliche Grundlage fehlt. Entscheidungen, die sein Selbstbild nachhaltig verändern. Wer das System eben noch kritisierte, wedelt im nächsten Moment mit Pompons, um es zu bejubeln. Denn die Transformation des Ich ist dieser Tage immer nur einen Klick entfernt.
»Smith begann als Agent, ein KI-Programm in der Matrix, das darauf programmiert war, die Ordnung im System aufrechtzuerhalten, indem es menschliche Simulakren eliminierte, die die simulierte Realität instabil machen würden, sowie alle Schurkenprogramme, die für das Maschinenkollektiv keinen Zweck mehr erfüllen. (…) Smiths wahre Macht beruht auf seiner Fähigkeit, Erinnerungen und Kräfte seiner Opfer – Menschen und Programme gleichermaßen – zu absorbieren. (…) Smith erlangt die Macht, seine physische Form auf jedes Wesen in der Matrix zu kopieren, indem er seine Hand in ihren Körper eintauchen lässt und eine schwarze Flüssigkeit verteilt, die sie in eine Kopie seiner selbst verwandelt, was zu einer ständig wachsenden Armee von Smiths führt, die durch ein einziges Bewusstsein verbunden sind.«
Wer sich also fragt, warum seine vormals maßnahmen- und obrigkeitskritischen Weggefährten nun dem tiefenstaatlich orchestrierten MAGA-Kult huldigen, findet die Antwort in DARPA-Studien zum Thema »Steuerung des Gruppenverhaltens mittels Social Media«.
Neu ist das alles nicht. Die US Air Force begann bereits 1998 mit der Erforschung autonom agierender Drohnensysteme – »Low Cost Autonomous Attack System« (LOCAAS) genannt. Die LOCAAS-Systeme nutzten einen Algorithmus, der auf Craig Reynolds’ Boids-Modell basiert, um in Formation eines Schwarms zu fliegen. Warf ein Tarnkappenbomber seine bis zu 192 Drohnen ab, begannen sie sich untereinander zu verständigen und attackierten feindliche Truppen im Verbund.
Das war vor 27 Jahren. Heute gehören Drohnen zum zivilen Alltag. So betreibt die Swisscom in der Schweiz in Kooperation mit Nokia ein Drones-as-a-Service (DaaS) Netzwerk für »effiziente Inspektionen und die Sicherung großer Areale sowie zentraler Infrastruktur«. Das klingt zunächst einmal nach privatwirtschaftlicher Dienstleistung auf Abruf. Aber: »Blaulichtorganisationen sollen diese Drohnen auf Abruf nutzen können, um dank detailliertem Bildmaterial (…) Informationen von Unfallstellen, Katastrophengebieten oder Tatorten einzuholen«, so der Tagesanzeiger am 18. August 2024. Was für Bildmaterial in welcher Auflösung wann, wo, warum aufgezeichnet und gespeichert wird, ist indes unklar. Hiesige Datenschützer sind alarmiert.
Aus gutem Grund. Denn auch in der Kriegsführung gehören Drohnen mittlerweile zum Tagesgeschäft. Per Joystick gesteuerte Langstreckendrohnen »demokratisieren« den Luftraum im Nahen Osten. Bevorzugt mit lasergesteuerten GBU-12 Paveway II Bomben. Mini-Drohnen überwachen unauffällig das Einsatzgebiet und töten gezielt per Kopfschuss. Kamikaze-Drohnenschwärme stürzen sich in Gruppen auf die mit ihnen explodierenden Ziele. Und die größeren Modelle beglücken den Feind mit bis zu sechs Granaten.
Projekte des US-Militärs und chinesische Guinness-Weltrekorde im Drohnen-Formationsflug zeigen, dass es wohl nicht mehr allzu lange dauern wird, bis autonome Schwärme, die von ebenso autonomen Trägerfahrzeugen verteilt und aufgeladen werden, Krisengebiete, Grenzen und Innenstädte überwachen – und schützen. Fragt sich nur, vor wem.
Die inflationäre Verwendung von und progressiv-positive Kommunikation zu Drohnentechnologie sowie KI sollte also durchaus zu denken geben. Denn was dem Hobbyfilmer günstige Luftaufnahmen liefert und Zuschauern in Form eines illuminierten Drachens aus 1.500 Drohnen über Shenzen Bewunderung abnötigt, dürfte die nächste Ausbaustufe militarisierter Überwachungsinfrastruktur charakterisieren.
Der gemeine »Agent«, die »iDrone«, der Boid – also der von medialer Dynamik und Polarisierungsdialektik überforderte Homo demens – sieht diesen Entwicklungen natürlich weithin gelassen entgegen. Denn er »bewegt sich in Richtung des Mittelpunkts derer, die er in seinem Umfeld sieht, entfernt sich, sobald ihm jemand zu nahe kommt und läuft immer in etwa die gleiche Richtung wie seine Nachbarn«.
-
@ 5579d5c0:db104ded
2025-02-20 23:37:40Like fats, carbohydrates and have been unfairly demonised.
Carbs aren’t inherently bad.
Their impact depends on seasonality, local availability, sunlight exposure, and movement.
Traditional cultures ate carbs, in alignment with their environment, and thrived.
Today, we eat them indiscriminately, and it’s wrecking metabolic health.
Carbs in traditional diet: Context matters
Different cultures have consumed varying amounts of carbohydrates for centuries, but what mattered wasn’t just how much they ate, it was when and how.
→ Pacific Islanders consumed fruit and tubers year round, but they lived in high UV environments, stayed highly active, and had robust metabolic flexibility.
→ Northern Europeans consumed grains and dairy, but only seasonally and locally,** adapting to long winters with lower carbohydrate intake.
→ Inuit tribes had little to no carbs. Their environment, long, dark winters with minimal plant foods, dictated a high-fat, animal-based diet for survival.
Regardless of macronutrient ratios, these cultures remained free from metabolic disease.
Why?
→ They ate whole, unprocessed food: Nothing refined, industrialised, or out of sync with their seasons.
→ Their lifestyle supported their diet: They moved constantly and had high sun exposure.
→ There was no year-round abundance: Food availability changed with the seasons, and so did their metabolism.
Traditional Pacific Islander diet full of fruit and tubers.
The problem? We’re eating for winter year round
Fast forward to the modern world.
In his book, 'Don’t Eat for Winter', Cian Foley tells us "We eat like it’s winter all year long, high-carb, high-fat, ultra-processed, and completely disconnected from nature’s cues."
This has lead us to a metabolic mismatch:
→ We eat high-carb diets but stay indoors under artificial light, disrupting our ability to process them efficiently.
→ We consume food that isn’t seasonal or local, removing natural metabolic cycles.
→ We pair carbs with inactivity, leading to insulin resistance, fat gain, and metabolic dysfunction.
Carbs aren’t the problem.
Eating them disconnected from seasonality, local availability, sunlight exposure, and movement is.
Homer Simpson eating highly processed carbs sitting under artificial light
Why does sunlight increases carbohydrate tolerance?
Sunlight improves insulin sensitivity, glucose metabolism, and mitochondrial efficiency, helping your body process carbs more effectively.
→ Activates the POMC-leptin-melanocortin pathway, that flip the switch in your body to burn fat more efficiently and respond better to insulin.
→ Releases Nitric oxide, which increases glucose uptake in muscles & reduces fat storage.
→ High UV exposure upregulates genes for glucose metabolism, making carbs easier to process in summer.
→ Mitochondrial efficiency improves with sunlight, allowing for better glucose usage and lower oxidative stress.
In short, if you get plenty of sunlight, your body can tolerate more carbohydrates (whole).
If you’re in a low-light environment e.g., winter, northern latitudes, or indoors all day, your tolerance decreases, and a lower-carb, higher-fat diet may be more suitable.
How to eat carbs in sync with your environment
→ Align carb intake with your sunlight exposure: If you’re in a high-UV environment, your body is primed to handle more carbohydrates. In darker seasons, focus more on protein and fat.
→ Eat seasonally and locally: Summer fruits in the summer, root vegetables in colder months. Let nature dictate your intake.
→ Pair carbs with movement: Don’t consume high-carb meals if you’re sedentary. Use movement to enhance glucose uptake and metabolic flexibility but not as a punishment.
It should be said, if you have metabolic syndrome issues cutting carbs can be useful tool until it has been fixed.
You will thrive when you're connected to nature, not fighting against it.
Carbs are not the enemy, modern environments are.
It’s not about eliminating carbs but eating them correctly, in sync with light, seasonality, and movement.
-Chris
DMs → always open for those who need help.
If you want to regain metabolic flexibility and stop storing excessive fat, I have a 10 week programme just for you. Let’s talk.
Book a free call here → https://calendly.com/hello-chrispatrick
Grab Cian Foleys book 'Don't Eat For Winter' → https://www.donteatforwinter.com/
-
@ c69b71dc:426ba763
2025-01-18 15:39:35Chef's notes
This raw vegan curry ramen is a vibrant, nourishing dish packed with fresh vegetables and a rich, creamy coconut curry broth. It’s quick to prepare, full of flavour, and the perfect guilt-free comfort food! 🌱 Feel free to use your favourite veggies👩🏼🍳
Details
- ⏲️ Prep time: 20 min.
- 🍳 Cook time: 0
- 🍽️ Servings: 2
Ingredients
- 500g or 2 packs kelp noodles
- 1/2 Lemon juice ( 1/4 for soaking and 1/4 for the soup
- Salt
- Fresh vegetables of your choice, such as: 4 medium mushrooms, 4 leaves red cabbage, 2 carrots (julienned or peeled into strips), 1 Celery stick (diced)
- 2 cups coconut milk (or coconut cream diluted with water)
- 1/2 flesh of a Coconut (optional, if using fresh coconuts) otherwise more coconut cream
- 1 thumb of fresh ginger
- 1 thumb of fresh turmeric
- 2 tbsp light miso paste
- 2 pitted dates
- 2 tbsp cashews
- 1 clove garlic
- 1 tsp curry powder or pepper (optional)
Directions
- Prepare the Noodles: Rinse the kelp noodles thoroughly. Then soak them in warm water with a squeeze of lemon juice and a pinch of salt for 10 minutes to soften.
- Prep the Vegetables: Thinly slice or julienne carrots, dice celery, thinly cut mushrooms, cut the red cabbage into thin strips.
- Make the Broth: In a blender, combine the following: 2 cups coconut milk (or coconut cream diluted with water if fresh coconuts are unavailable), ginger, turmeric, 1/4 juice of 1 lemon, light miso paste, pitted dates, cashews, garlic, salt, curry powder
- Blend on high speed for about 3 to 4 minutes until the broth is smooth and slightly warm. Do not overheat!
- Assemble the Ramen: Drain the kelp noodles and place them in serving bowls. Arrange the prepped vegetables on top of the noodles. Pour the warm curry broth over the noodles and vegetables.
- Serve immediately and enjoy your raw vegan ramen with chopsticks for an authentic touch!
-
@ dc4cd086:cee77c06
2025-02-09 03:35:25Have you ever wanted to learn from lengthy educational videos but found it challenging to navigate through hours of content? Our new tool addresses this problem by transforming long-form video lectures into easily digestible, searchable content.
Key Features:
Video Processing:
- Automatically downloads YouTube videos, transcripts, and chapter information
- Splits transcripts into sections based on video chapters
Content Summarization:
- Utilizes language models to transform spoken content into clear, readable text
- Formats output in AsciiDoc for improved readability and navigation
- Highlights key terms and concepts with [[term]] notation for potential cross-referencing
Diagram Extraction:
- Analyzes video entropy to identify static diagram/slide sections
- Provides a user-friendly GUI for manual selection of relevant time ranges
- Allows users to pick representative frames from selected ranges
Going Forward:
Currently undergoing a rewrite to improve organization and functionality, but you are welcome to try the current version, though it might not work on every machine. Will support multiple open and closed language models for user choice Free and open-source, allowing for personal customization and integration with various knowledge bases. Just because we might not have it on our official Alexandria knowledge base, you are still welcome to use it on you own personal or community knowledge bases! We want to help find connections between ideas that exist across relays, allowing individuals and groups to mix and match knowledge bases between each other, allowing for any degree of openness you care.
While designed with #Alexandria users in mind, it's available for anyone to use and adapt to their own learning needs.
Screenshots
Frame Selection
This is a screenshot of the frame selection interface. You'll see a signal that represents frame entropy over time. The vertical lines indicate the start and end of a chapter. Within these chapters you can select the frames by clicking and dragging the mouse over the desired range where you think diagram is in that chapter. At the bottom is an option that tells the program to select a specific number of frames from that selection.
Diagram Extraction
This is a screenshot of the diagram extraction interface. For every selection you've made, there will be a set of frames that you can choose from. You can select and deselect as many frames as you'd like to save.
Links
- repo: https://github.com/limina1/video_article_converter
- Nostr Apps 101: https://www.youtube.com/watch?v=Flxa_jkErqE
Output
And now, we have a demonstration of the final result of this tool, with some quick cleaning up. The video we will be using this tool on is titled Nostr Apps 101 by nostr:npub1nxy4qpqnld6kmpphjykvx2lqwvxmuxluddwjamm4nc29ds3elyzsm5avr7 during Nostrasia. The following thread is an analog to the modular articles we are constructing for Alexandria, and I hope it conveys the functionality we want to create in the knowledge space. Note, this tool is the first step! You could use a different prompt that is most appropriate for the specific context of the transcript you are working with, but you can also manually clean up any discrepancies that don't portray the video accurately. You can now view the article on #Alexandria https://next-alexandria.gitcitadel.eu/publication?d=nostr-apps-101
Initially published as chained kind 1's nostr:nevent1qvzqqqqqqypzp5r5hd579v2sszvvzfel677c8dxgxm3skl773sujlsuft64c44ncqy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgwwaehxw309ahx7uewd3hkctcpzemhxue69uhhyetvv9ujumt0wd68ytnsw43z7qghwaehxw309aex2mrp0yhxummnw3ezucnpdejz7qgewaehxw309aex2mrp0yh8xmn0wf6zuum0vd5kzmp0qqsxunmjy20mvlq37vnrcshkf6sdrtkfjtjz3anuetmcuv8jswhezgc7hglpn
Or view on Coracle https://coracle.social /nevent1qqsxunmjy20mvlq37vnrcshkf6sdrtkfjtjz3anuetmcuv8jswhezgcppemhxue69uhkummn9ekx7mp0qgsdqa9md83tz5yqnrqjw07hhkpmfjpkuv9hlh5v8yhu8z274w9dv7qnnq0s3
-
@ fd208ee8:0fd927c1
2025-02-15 07:37:01E-cash are coupons or tokens for Bitcoin, or Bitcoin debt notes that the mint issues. The e-cash states, essentially, "IoU 2900 sats".
They're redeemable for Bitcoin on Lightning (hard money), and therefore can be used as cash (softer money), so long as the mint has a good reputation. That means that they're less fungible than Lightning because the e-cash from one mint can be more or less valuable than the e-cash from another. If a mint is buggy, offline, or disappears, then the e-cash is unreedemable.
It also means that e-cash is more anonymous than Lightning, and that the sender and receiver's wallets don't need to be online, to transact. Nutzaps now add the possibility of parking transactions one level farther out, on a relay. The same relays that cannot keep npub profiles and follow lists consistent will now do monetary transactions.
What we then have is * a transaction on a relay that triggers * a transaction on a mint that triggers * a transaction on Lightning that triggers * a transaction on Bitcoin.
Which means that every relay that stores the nuts is part of a wildcat banking system. Which is fine, but relay operators should consider whether they wish to carry the associated risks and liabilities. They should also be aware that they should implement the appropriate features in their relay, such as expiration tags (nuts rot after 2 weeks), and to make sure that only expired nuts are deleted.
There will be plenty of specialized relays for this, so don't feel pressured to join in, and research the topic carefully, for yourself.
https://github.com/nostr-protocol/nips/blob/master/60.md https://github.com/nostr-protocol/nips/blob/master/61.md
-
@ d1b118c6:4985b38d
2025-01-16 17:39:47Chef's notes
Let me know how it goes for you https://maria.omg.lol
Details
- ⏲️ Prep time: 5-20 minutes
- 🍳 Cook time: 20-40 minutes
- 🍽️ Servings: As many as you want omg!!!!
Ingredients
- Spaghetti/whatever pasta you want
- Garlic/smashed or diced as much as you want
- Tomatoes/ diced or more liquid state whatever you want
- Scallops/ I use the frozen bagged mini kind and just do a couple handfuls as many as you want
- Butter and/or olive oil but the butter is v good imo but also I used both
- Bacon/ make it extra crispy and then crumble up as much as you want
- Whatever seasonings
Directions
- Set oven to 400° or so
- Put all your bacon 🥓 strips onto tin foil lined baking sheet/s and then put the trays in the oven for 15-20 min
- Boil up your pasta in salty water
- Pull the bacon out when done
- In a pan cook up the scallops real quick like 5-10 min idk
- Sauté the tomatoes and garlic and whatever use whatever seasons and lots of butter
- Strain the pasta when it’s ready
- Mix pasta and sautéed sauce
- Add more crumbled bacon on top #garnish
-
@ da9e1099:a923b7ff
2025-02-22 04:54:14Anybody remember “slug-bug”? It’s a game I used to play as a boy. Before Volkswagen committed the cardinal sin of cheating at the expense of the environment? VW failed its breathalyzer test when forced to drive, under harsh scrutiny, a very long, straight line.
Prior to that faux pas, Volkswagen built a “wagon for the people”. They were ubiquitous. If spotted, you immediately blurted “slug-bug”, and then “socked” your buddy. Scoring included identifying the paint color, let’s not forget that detail. “Slug-bug blue.” Slug-bug black and blue. It seemed like they were everywhere, precisely because we were looking for them, and precisely because they were everywhere. It wasn’t simply confirmation bias.
I suppose it proves the point of the proponents of toxic masculinity theory. We preferred gleefully pummeling each other while riding unbelted in the back seat of the family station wagon, or while riding BMX bikes to the pit, trailhead, or next best site of aerial invigoration. It‘s what we did as kids. It wasn’t just the boys, but usually it was. Skinned knees and welts earned during Volkswagen drive-bys were everyday pass time. Ride bikes. Jump off things that were a little too high. Wrestle. Play tackle football, then “slug-bug” again ad infinitum.
Not so anymore. Has the zeitgeist swept us from the “violence” that accompanied the spotting of a rapidly obsolescing German automobile? Does masculine, rough-housing behavior mirror the verboten culture of the most nefarious German Third Reich; blitzkrieg in polygonal cages the world over? Am I en membered in a regime of misguided youth come adult, whose hobby is rife with fascistic psychological traits? Do bruised arms inevitably lead to black eyes and incapacitation? Has my fascination with punching my best friend on sight of a “people mobile made for the masses” become a gateway activity to brutalism?
Set aside the theories of toxic masculinity, the extent to which such a thing exists, and how they are reputed to affect men and society at large. A well crafted combat sports regimen is a healing prescription for all. Never mind the protests that regimented fighting is a psychological scourge of the modern male. Disregard any claims that such behavior leads to psychopathology and normative violence against women. Counter those politically correct WMDs aimed at traditional values. They have informed masculine behavior since before the beginning of recorded history. I strongly recommend enrolling your son in a Martial Arts program. A quality program benefits all parties.
Your son’s hyperactivity and rough and tumble behavior is welcome here.
Me and my ilk believe that exuberant physical behavior is healthy when channeled constructively. A well planned martial arts program provides a safe, encouraging space in which kids can physically develop combat skills. The wrestling mat can validate a child’s physical impulses and remind him he is welcome, even if coaches must periodically subject him to disciplinary measures or a drubbing from the boy next door. Clearly defined rules and penalties for breaking them incentivize positive behavior. Physical training is a pressure release valve that promotes academic focus and sociable behavior outside of the gym. Boys benefit from fraternity, and they come to embody the learned values, carrying them into the domains they frequent.
A combination of physical exertion, intellectual gaming, and self-defense practice is a solid recipe for a youth program, irrespective of age or developmental level. Parents should make it a priority to foster a healthy relationship with physical activity in their children…even if the sport they ultimately choose isn’t martial arts.
MMA cultivates the mind and rewards problem solving.
While martial arts may seem like a grossly physical discipline, physical problems require intellectual solutions. MMA is the thinking man’s sport. Youth will learn to reason during intense physical exertion. They will learn composure under stress. Given the fluid, dynamic nature of Mixed Martial Arts, split second decision making is required for problem solving. Practicing physical forms encourages kids to internalize mechanics. Striking combinations and obstacle courses promote sequencing. Round timers guide kids to perform on the clock.
Students take countless academic tests that influence their academic trajectories. The AI technological revolution will reward people who have excellent “soft skills”. Time management, decision making under pressure, adaptability, conflict resolution, creative thinking, and teamwork are on offer in a good martial arts program.
MMA is a team sport.
Competition teams are stables of mates who share the common goal of victory through excellence, even while each needs to perform independently to succeed. A fighter cannot adequately prepare himself for a competition without the guidance of a coach and the help of teammates with whom he can drill, spar, condition and commiserate.
Whether gymnasium or workplace, it’s difficult to keep competent help. Showing up on time. Doing what you’ve committed to do with consistency. Graciously accepting help to overcome sticking points and feelings of impotence, not to mention defeat. Being available for a teammate who was there for your training camp when his training camp rolls around. A worthwhile martial arts regimen should demand and encourage such behavior and ethics. Kids who choose to compete will learn to live by virtuous codes and cultivate relationships with others like them.
Confidence is ingredient to standing up to bullies and would be abductors.
Children need to be confronted with role-playing scenarios that bring theoretical concepts into the real world of school cafeteria confrontations, rowdy movie nights at the mall, battles with bullies on the way home from band practice and pederasts on the lurk.
A child will learn the conscienceless tools of defense and offense, but, as we know, with power comes responsibility. Teaching a child the physical, martial arts without teaching them the proper circumstances under which it is to be used or proportionality can breed more bullies. See ‘The Karate Kid’. Kids must be taught accountability to go with their hard earned, dangerous abilities.
Failure is a good. In fact, it’s essential.
Kids will ‘fail’ at life. They will fail in school and kickball. They will fail at video gaming. How they learn to deal with failure will define them more so than any other skill. A well constructed martial arts program will help a child work through his failures.
The goal should be for any aspirant to view failure as an opportunity to redouble his efforts and outperform. When a child learns to reapply himself physically, while thinking his way through what is fundamentally an intellectual problem, his confidence swells. A well planned MMA program provides a supervised space (physical and virtual) in which children can engage problems, challenge themselves, supportively fail and set goals to overcome those obstacles. When a person regiments goal setting and meets his challenges, it inspires a positive feedback loop that spirals into other aspects of his life.
Martial Arts families share a community.
A child who enrolls in a Martial Arts program will interact with like-minded kids and their parents, people who share similar values and philosophies. Lifelong friendships often begin this way, and playdate vetting takes care of itself. Billy and James both like to wrestle, and they enjoy Star Wars. This is the way.
Irrespective of your position on whether there is a thing called toxic masculinity, a well thought out and responsibly implemented martial arts regimen is a boon to child, family, greater community and society full wide. There are a variety of philosophies, intensity levels and art forms that fall under the “Martial Arts” catchall heading. Call around, ask questions and observe classes. Starting a new activity can be intimidating for both parent and child, especially when beginning a combat art. I recommend gentle encouragement. Forcing a child to train against his will risks poisoning the well and possibly the athletic pond more broadly. It’s a fine line to walk. Take one step at a time.
-
@ dd664d5e:5633d319
2025-02-14 16:56:29Most people only know customer-to-customer (C2C) and business-to-customer (B2C) software and websites. Those are the famous and popular ones, but business-to-business (B2B) is also pretty big. How big?
Even something boring and local like DATEV has almost 3 million organizations as customers and €1,44 billion in annual revenue.
FedEx has €90 billion in annual revenue and everyone who uses it comes into contact with its software. There's a whole chain of software between the sender and receiver of the package, and it all has to work seamlessly.
Same with Walmart, Toyota, Dubai Airport, Glencore, Tesla, Edeka, Carrefour, Harvard and University of Texas, Continental, Allianz, Asklepios, etc.
That's the sort of software I help build. You've probably never heard of it, but when it doesn't work properly, you'll hear about it on the news.
-
@ bd32f268:22b33966
2025-02-20 23:17:29Quando estava prestes a entrar para a universidade sentia que a minha vida estava a desenrolar-se plenamente de acordo com os conselhos que havia recebido. Estava focado nos estudos e com a esperança de que esse foco me garantisse um bom trabalho. Com efeito, os estudos abriram algumas portas, no entanto, não posso deixar de assinalar que há outras decisões mais importantes a tomar e que não tiveram o mesmo protagonismo na minha vida.
Nessa mesma altura estava a iniciar um relacionamento amoroso, sem ter clara a finalidade desse namoro e o caminho que o mesmo deveria ter seguido. Talvez até me tivessem aconselhado sobre isso, contudo o foco estava mais no trabalho e em usufruir das oportunidades que se apresentaram nessa juventude confortável, na qual contei sempre com o apoio financeiro dos meus pais. Estava, como a maioria à minha volta, a viver uma vida libertina. Quer isto dizer uma vida sem grandes preocupações, a não ser estudar e fazer o suficiente para não reprovar a nenhuma disciplina. O resto é movido muito mais para emoção do que pela razão. Aquilo que considerava prazeroso era bom e o que não o era, era mau. Não tinha propriamente uma ideia clara do que queria criar a longo prazo e portanto estava muito mais focado no presente e em usufruir daquilo que podia no momento.
Fazendo uma análise retrospetiva de tudo, não culpo ninguém porque a informação existe para quem a procura, contudo noto aqui apenas o ambiente social e cultural que favorece determinadas decisões em detrimento de outras. O foco tem estado muito mais nos estudos, no trabalho e na fruição dos prazeres que se apresentam aos jovens sem que se pense demasiado no futuro.
Neste contexto, e vendo esta fase da vida com outro grau de distanciamento, deixo aqui dez conselhos que julgo essenciais.
Rei Salomão - Gustav Dore
1.Focar na decisão mais importante: constituir ou não família.
A decisão de constituir ou não família é muito mais relevante para a nossa vida do que propriamente a de escolher uma profissão. Não estou necessariamente a fazer apologia de que todas as pessoas devem constituir família, convenhamos que muitos de nós não têm vocação para o mesmo (apesar de muitos ainda assim o fazerem), mas quer seja afirmativa ou negativa a resposta parece-me fundamental que nos concentremos nessa decisão. Muito mais do que qualquer profissão a família é onde naturalmente procuramos apoio, conforto e incentivo perante todas as vicissitudes da vida.
O facto de existirem famílias que não são fontes de amor para as pessoas em nada invalida que esta seja a organização social por excelência que aporta significado ás nossas vidas. Infelizmente, para muitas pessoas uma experiência pessoal mais difícil a este nível influi na forma como pensam sobre a possibilidade de criarem a sua própria família.
Algumas questões a ter em conta nesta ponderação:
Qual é o meu ideal de família ?
Qual o meu papel enquanto homem/mulher no seio da família?
Que tipo de parceiro devo procurar?
Desejo ter filhos ?
Podemos usar estas questões como pontos de partida para iniciar uma exploração da nossa vocação.
2.Tomar decisões cedo em vez de protelar indefinidamente
Atualmente notamos que as pessoas constituem família cada vez mais tarde e que têm filhos cada vez mais tarde. É curioso notar que nos relacionamentos por vezes há alguma pressa para passar do conhecer a pessoa à intimidade sexual e não há pressa alguma para decidir se de facto é com aquela pessoa que queremos passar o resto dos nossos dias.
Este é apenas um aspecto no qual se nota uma progressiva detioração da capacidade para decidir. É-nos muitas vezes transmitida a ideia de que temos tempo e de que não há uma idade certa para tomar determinadas decisões. Estes discursos são cínicos pois é evidente que há fases que são mais propícias para dar determinados passos na nossa vida, daí que seja muito importante aprender a tomar decisões cedo.
Para tomar decisões sóbrias é fundamental saber-se exatamente aquilo que queremos. Se tudo isso está indefinido e não conseguimos postular uma ideia de futuro para nós será muito mais difícil tomar qualquer tipo de decisão importante. Um outro aspecto a ter em conta é o de que as principais decisões são guiadas pela razão, isto é os nossos sentimentos têm de estar ao serviço dos nossos valores e nunca o contrário.
3.Se não te imaginas a casar com a pessoa com quem estás, termina o relacionamento.
Deixar a porta aberta num relacionamento de forma indefinida é algo que vai produzir instabilidade no longo prazo. É óbvio que para muitas pessoas o casamento é “apenas um papel” e portanto não vêm a real utilidade em se casar. Contudo, e de forma não surpreendente, notamos que os casais que têm na sua vida uma visão sobrenatural do casamento tendem a perdurar. Digamos que a cola que é usada para unir as pessoas é de um outro calibre, enquanto que a cola usada por aqueles que não têm Deus nas suas vidas está muito mais sujeita à volatilidade do tempo, dos apetites individuais e do relativismo.
4.Assume a responsabilidade pelos teus erros sem te deixar levar pelo vitimismo.
A cultura atual, influenciada de forma determinante pela filosofia marxista, está permanentemente a postular divisões de poder na sociedade que pressupõe duas categorias principais a de oprimido e opressor. Esta ideologia apoiada no revisionismo histórico e numa pedagogia social falaciosa incute desde cedo na população a ideia de que em algum momento, tendo ou não pertencido a uma minoria, somos vítimas. Vemos vários exemplos e derivações desta doutrina quando tocamos em temas como o feminismo, o racismo e outros ismos que se focam apenas nesta divisão dicotómica oprimido e opressor.
Esta narrativa esquece que a hierarquia é uma organização natural que define aptidões diferenciadas e consequentemente vocações diferentes. Um outro aspecto que também é esquecido é o livre arbítrio, isto é, a ideia de que as pessoas têm poder de decisão e que muitas vezes podem ser coniventes e partes atuantes no sistema em que participam.
Quer isto dizer que individualmente cada um de nós, havendo discernimento, tem escolha e portanto é muito mais produtivo focar a nossa atenção nesse aspecto do que em qualquer tipo de desigualdade que possa existir. A igualdade de circunstâncias para todas as pessoas é uma utopia, a única igualdade que existe é da essência humana.
O caminho para escapar ao vitimismo será sempre o da responsabilidade individual e da gratidão apesar das circunstâncias adversas que possamos estar a viver.
5.Foca-te primeiro no que te é mais próximo antes do mundo
Por vezes, inspirados por uma soberba intelectual que agora é típica da juventude vemo-nos a fazer o papel de ativistas em determinadas causas, algumas nobres outras nem tanto. Acontece que este ativismo é frequentemente uma ato postiço, uma pose que usamos como forma de sinalizar a nossa virtude perante os nossos pares. Onde se percebem os pés de barro é quando notamos que diante das pessoas que nos são mais próximas não temos o mesmo zelo que apresentamos quando estamos a debater as grandes questões do mundo.
Há que ser zeloso com quem nos rodeia e os problemas mais urgentes para resolver, e aqueles em que a nossa intervenção é de facto mais necessária, são os que nos são mais próximos.
6.Dizer a verdade
A corrupção moral funciona de forma gradual, vai de menos a mais, começamos com uma coisa pequena até chegarmos a algo maior. Quando somos mais novos vamos experimentando a corrupção através do exercício da mentira em pequenas coisas e gradualmente vamos avançando para as coisas maiores. Alguns de nós resistem à mentira, facilmente se entende que não desejamos que os outros nos mintam no entanto, se o repetimos muitas vezes facilmente a banalizamos.
A mentira é uma tentativa de esquivar a responsabilidade pelas nossas ações ou opiniões, uma tentativa de fuga ás consequências. Contudo, importa perceber que inevitavelmente vamos sempre confrontar-nos com as consequências sejam quais forem as circunstâncias. Se não as experimentamos pela espada dos outros será pela nossa própria espada quando finalmente percebermos que não há harmonia entre o pensamento e a ação, que dizemos uma coisa mas fazemos outra, que a nossa identidade é também ela uma ficção. O exercício da verdade será a única via para nos aproximarmos de uma existência mais harmoniosa e autêntica, a única forma de estabelecer uma relação genuína com os outros.
7.Decisões inspiradas pela coragem e menos pelo medo
As nossas decisões têm frequentemente como força motriz o medo. O medo da rejeição impede-nos de ir falar com aquela pessoa de quem gostamos, o medo do juízo social impede-nos de proferir a nossa opinião em determinado assunto, o medo da morte leva-nos a ter comportamentos obsessivos com a nossa saúde; enfim, são muitas as situações em que as nossas decisões são pautadas pelo medo.
É importante que cada vez mais, o medo não seja o factor definidor da nossa decisão. A coragem, temperada pela prudência, devem ser os grandes arquitetos da nossa decisão. Aquilo que é bom no sentido mais profundo é o que devemos seguir, independentemente de sentirmos medo.
8.Ninguém é obrigado a gostar de nós, ninguém nos deve nada
O ressentimento e mágoa leva-nos por vezes a tratar os outros como se eles nos devessem algo, como se fosse impensável não nos reconhecerem como aprazíveis aos seus olhos ou justos. Isto é uma forma subtil do orgulho se expressar, porque mais uma vez nos colocamos na posição de vítima e assim, julgamos que os outros nos deveriam reconhecer como virtuosos de alguma forma.
Pois bem, apesar dos outros, tal como nós, terem deveres e poderem fazer menção honrosa da nossa existência não devemos esperar isso. Esperando isso, acabamos escravizados por essas expectativas porque continuamos à espera que gostem de nós. Desta forma distorcemos também o próprio conceito de amor, que é doar-se sem esperar em troca. Não é que os outros não o possam fazer, podem, o problema está na espera e na exigência.
9.Definir uma matriz moral objetiva
Imbuídos de um espírito relativista estamos muitas vezes sujeitos a uma subjetividade enorme no que diz respeito aos nossos valores. O resultado disto é que inevitavelmente vamos ter uma definição menos clara do bem e do mal. Frequentemente vamos confundir o que é bom ou mau com os nossos desejos, alimentado pelos nossos vícios. Para termos uma visão mais clara da realidade é fundamental sairmos dessa visão subjetiva do valor e sermos capazes de procurar a verdadeira fonte das definições morais.
Aqui, há determinadas mensagens sociais que nos confundem os sentidos, nomeadamente aquelas que atestam que tudo são apenas “pontos de vista”, que não há uma “verdade” mas sim várias verdades, e que “neste tempo/cultura/país” a moralidade é outra. São tudo asserções que dificultam esta pesquisa pela verdade e definição moral universal. Neste campo, o ser humano só será capaz de ter mais estabilidade em termos psicológicos aderindo a um sistema de valores imutável, esta é a única forma de basear a sua identidade em princípios mais objetivos.
10.Encontrar um propósito maior para a vida
Santo Agostinho diz-nos o seguinte:
- Se não queres sofrer não ames, mas se não amas para que queres viver?
Santo Agostinho
Por vezes na nossa vida procuramos esquivar-nos do sofrimento e inclusive somos vitimas de um certo ceticismo e embotamento afetivo. Vamos experimentando a traição e a frustração das nossas expectativas e isso vai endurecendo o nosso coração. Em resultado disso, muitas vezes tornamo-nos também mais egoístas, focados na mera satisfação das nossas necessidades e menos nas dos outros. No entanto, isto faz de nós infelizes porque não conseguimos deixar de amar. A solução é encontrar algo maior que nós mesmos para amar, entendendo sempre que a essência do amor é o sacrifício. Encontrar isso é simultaneamente definir um propósito para a vida e daí derivar um significado que nos sustenta até nos momentos mais difíceis.
Eventualmente poderei fazer alguma publicação específica expandindo um pouco mais alguns destes conselhos, uma vez que observo que muito mais poderia ter sido dito em cada um deles. Talvez venha a criar mais algumas publicações sobre este tema.
-
@ 30b99916:3cc6e3fe
2025-01-13 22:17:08Chef's notes
Recipe modified from a recipe published from a school cookbook in 1963.
Details
- 🍳 Cook time: 8 to 10 Minutes at 400
- 🍽️ Servings: 3 dozen or so depending on cookie size
Ingredients
- 2 sticks of butter
- 1 1/2 Cup sugar
- 2 eggs
- 1 t. vanilla (optional but recommended)
- 2 3/4 cups flour
- 2 t. Cream of tartar
- 1 t. Soda
- 1/4 t. Salt
Directions
-
- Heat over to 400
-
- Mix butter, sugar, eggs, and vanilla thoroughly.
-
- Sift together flour, cream of tartar, soda, salt and blend into mixture.
-
- Form small dough balls and roll in sugar/cinnamon
-
- Place each cookie dough ball 2" apart on a cookie sheet
-
@ ccc8ee23:9f3d9783
2024-12-23 22:03:15Chef's notes
Indulge in tender, golden-fried chicken breast, crunchy with every bite. Nestled on a bed of steamed rice, this dish is elevated by a rich, velvety curry sauce, infused with the warmth of fragrant spices and the umami depth of soy.
Paired with vibrant vegetables for a harmonious balance of textures and flavors, this comforting classic promises to delight your soul.
Details
- ⏲️ Prep time: 10 min
- 🍳 Cook time: 30 min
- 🍽️ Servings: 2
Ingredients
- Chicken Fillet 250 grams
- Potato 100 grams
- Egg 1 pc
- Curry block 2 pcs or 20 grams
- breadcrumbs 100 grams / 2 cups
- flour 20 grams
- Cooking oil (for frying)
- chicken or vegetable stock 500ml
- soy sauce 1 tbsp
- Seasoning
- onion 1 pc, finely chopped
- garlic cloves 2 pcs, minced
- carrot 1 pc, chopped
Directions
- Chicken Katsu: Pound the chicken breasts until about 1/2 inch thick. Season with salt and pepper. Coat each piece in flour, then dip in beaten egg, and finally coat with breadcrumbs. Heat oil in a pan and fry the chicken for about 3-4 minutes on each side, until golden brown and fully cooked. Place on paper towels to drain.
- Make Curry Sauce: In a pan, sauté the onion, garlic, add potato and carrot until soft. Gradually add curry block and the stock, stir well. Simmer for 5-10 minutes until thickened. Add seasoning and soy sauce to taste.
- Plating: Slice the cooked chicken katsu and place it over a bed of steamed rice. Pour the curry sauce on the side or over the chicken. Garnish with chopped green chilies.
-
@ a2eddb26:e2868a80
2025-02-20 20:28:46In personal finance, the principles of financial independence and time sovereignty (FITS) empower individuals to escape the debt-based cycle that forces them into perpetual work. What if companies could apply the same principles? What if businesses, instead of succumbing to the relentless push for infinite growth, could optimize for real demand?
This case study of the GPU industry aims to show that fiat-driven incentives distort technological progress and imagines an alternative future built on sound money.
Fiat Business: Growth or Death
Tech companies no longer optimize for efficiency, longevity, or real user needs. Instead, under a fiat system, they are forced into a perpetual growth model. If NVIDIA, AMD, or Intel fail to show revenue expansion, their stock price tanks. Let's take NVIDIA's GPUs as an example. The result is predictable:
- GPUs that nobody actually needs but everyone is told to buy.
- A focus on artificial benchmarks instead of real-world performance stability.
- Endless FPS increases that mean nothing for 99% of users.
The RTX 5090 is not for gamers. It is for NVIDIA’s quarterly earnings. This is not a surprise on a fiat standard.
Fiat Marketing: The Illusion of Need and the Refresh Rate Trap
Benchmarks confirm that once a GPU maintains 120+ FPS in worst-case scenarios, additional performance gains become irrelevant for most players. This level of capability was reached years ago. The problem is that efficiency does not sell as easily as bigger numbers.
This extends beyond raw GPU power and into the display market, where increasing refresh rates and resolutions are marketed as critical upgrades, despite diminishing real-world benefits for most users. While refresh rates above 120Hz may offer marginal improvements for competitive esports players, the average user sees little benefit beyond a certain threshold. Similarly, 8K resolutions are pushed as the next frontier, even though 4K remains underutilized due to game optimization and hardware constraints. This is why GPUs keep getting bigger, hotter, and more expensive, even when most gamers would be fine with a card from five years ago. It is why every generation brings another “must-have” feature, regardless of whether it impacts real-world performance.
Marketing under fiat operates on the principle of making people think they need something they do not. The fiat standard does not just distort capital allocation. It manufactures demand by exaggerating the importance of specifications that most users do not truly need.
The goal is not technological progress but sales volume. True innovation would focus on meaningful performance gains that align with actual gaming demands, such as improving latency, frame-time consistency, and efficient power consumption. Instead, marketing convinces consumers they need unnecessary upgrades, driving them into endless hardware cycles that favor stock prices over user experience.
They need the next-gen cycle to maintain high margins. The hardware is no longer designed for users. It is designed for shareholders. A company operating on sound money would not rely on deceptive marketing cycles. It would align product development with real user needs instead of forcing artificial demand.
The Shift to AI
For years, GPUs were optimized for gaming. Then AI changed everything. OpenAI, Google, and Stability AI now outbid consumers for GPUs. The 4090 became impossible to find, not because of gamers, but because AI labs were hoarding them.
The same companies that depended on the consumer upgrade cycle now see their real profits coming from data centers. Yet, they still push gaming hardware aggressively. However, legitimate areas for improvement do exist. While marketing exaggerates the need for higher FPS at extreme resolutions, real gaming performance should focus on frame stability, low latency, and efficient rendering techniques. These are the areas where actual innovation should be happening. Instead, the industry prioritizes artificial performance milestones to create the illusion of progress, rather than refining and optimizing for the gaming experience itself. Why?
Gamers Fund the R&D for AI and Bear the Cost of Scalping
NVIDIA still needs gamers, but not in the way most think. The gaming market provides steady revenue, but it is no longer the priority. With production capacity shifting toward AI and industrial clients, fewer GPUs are available for gamers. This reduced supply has led to rampant scalping, where resellers exploit scarcity to drive up prices beyond reasonable levels. Instead of addressing the issue, NVIDIA benefits from the inflated demand and price perception, creating an even stronger case for prioritizing enterprise sales. Gaming revenue subsidizes AI research. The more RTX cards they sell, the more they justify pouring resources into data-center GPUs like the H100, which generate significantly higher margins than gaming hardware.
AI dictates the future of GPUs. If NVIDIA and AMD produced dedicated gamer-specific GPUs in higher volumes, they could serve that market at lower prices. But in the fiat-driven world of stockholder demands, maintaining artificially constrained supply ensures maximum profitability. Gamers are left paying inflated prices for hardware that is no longer built with them as the primary customer. That is why GPU prices keep climbing. Gamers are no longer the main customer. They are a liquidity pool.
The Financial Reality
The financial reports confirm this shift: NVIDIA’s 2024 fiscal year saw a 126% revenue increase, reaching \$60.9 billion. The data center segment alone grew 217%, generating \$47.5 billion. (Source)
The numbers make it clear. The real money is in AI and data centers, not gaming. NVIDIA has not only shifted its focus away from gamers but has also engaged in financial engineering to maintain its dominance. The company has consistently engaged in substantial stock buybacks, a hallmark of fiat-driven financial practices. In August 2023, NVIDIA announced a \$25 billion share repurchase program, surprising some investors given the stock's significant rise that year. (Source) This was followed by an additional \$50 billion buyback authorization in 2024, bringing the total to \$75 billion over two years. (Source)
These buybacks are designed to return capital to shareholders and can enhance earnings per share by reducing the number of outstanding shares. However, they also reflect a focus on short-term stock price appreciation rather than long-term value creation. Instead of using capital for product innovation, NVIDIA directs it toward inflating stock value, ultimately reducing its long-term resilience and innovation potential. In addition to shifting production away from consumer GPUs, NVIDIA has also enabled AI firms to use its chips as collateral to secure massive loans. Lambda, an AI cloud provider, secured a \$500 million loan backed by NVIDIA's H200 and Blackwell AI chips, with financing provided by Macquarie Group and Industrial Development Funding. (Source)
This practice mirrors the way Bitcoin miners have used mining hardware as collateral, expecting continuous high returns to justify the debt. GPUs are fast-depreciating assets that lose value rapidly as new generations replace them. Collateralizing loans with such hardware is a high-risk strategy that depends on continued AI demand to justify the debt. AI firms borrowing against them are placing a leveraged bet on demand staying high. If AI market conditions shift or next-generation chips render current hardware obsolete, the collateral value could collapse, leading to cascading loan defaults and liquidations.
This is not a sound-money approach to business. It is fiat-style quicksand financialization, where loans are built on assets with a limited shelf life. Instead of focusing on sustainable capital allocation, firms are leveraging their future on rapid turnover cycles. This further shifts resources away from gamers, reinforcing the trend where NVIDIA prioritizes high-margin AI sales over its original gaming audience.
At the same time, NVIDIA has been accused of leveraging anti-competitive tactics to maintain its market dominance. The GeForce Partner Program (GPP) launched in 2018 sought to lock hardware partners into exclusive deals with NVIDIA, restricting consumer choice and marginalizing AMD. Following industry backlash, the program was canceled. (Source)
NVIDIA is not merely responding to market demand but shaping it through artificial constraints, financialization, and monopolistic control. The result is an industry where consumers face higher prices, limited options, and fewer true innovations as companies prioritize financial games over engineering excellence.
On this basis, short-term downturns fueled by stock buybacks and leveraged bets create instability, leading to key staff layoffs. This forces employees into survival mode rather than fostering long-term innovation and career growth. Instead of building resilient, forward-looking teams, companies trapped in fiat incentives prioritize temporary financial engineering over actual product and market development.
A Sound Money Alternative: Aligning Incentives
Under a sound money system, consumers would become more mindful of purchases as prices naturally decline over time. This would force businesses to prioritize real value creation instead of relying on artificial scarcity and marketing hype. Companies would need to align their strategies with long-term customer satisfaction and sustainable engineering instead of driving demand through planned obsolescence.
Imagine an orange-pilled CEO at NVIDIA. Instead of chasing infinite growth, they persuade the board to pivot toward sustainability and long-term value creation. The company abandons artificial product cycles, prioritizing efficiency, durability, and cost-effectiveness. Gaming GPUs are designed to last a decade, not three years. The model shifts to modular upgrades instead of full replacements. Pricing aligns with real user needs, not speculative stock market gains.
Investors initially panic. The stock takes a temporary hit, but as consumers realize they no longer need to upgrade constantly, brand loyalty strengthens. Demand stabilizes, reducing volatility in production and supply chains. Gamers benefit from high-quality products that do not degrade artificially. AI buyers still access high-performance chips but at fair market prices, no longer subsidized by forced consumer churn.
This is not an abstract vision. Businesses could collateralize loans with Bitcoin. Companies could also leverage highly sought-after end products that maintain long-term value. Instead of stock buybacks or anti-competitive practices, companies would focus on building genuine, long-term value. A future where Bitcoin-backed reserves replace fiat-driven financial engineering would stabilize capital allocation, preventing endless boom-bust cycles. This shift would eliminate the speculative nature of AI-backed loans, fostering financial stability for both borrowers and lenders.
Sound money leads to sound business. When capital allocation is driven by real value rather than debt-fueled expansion, industries focus on sustainable innovation rather than wasteful iteration.
Reclaiming Time Sovereignty for Companies
The fiat system forces corporations into unsustainable growth cycles. Companies that embrace financial independence and time sovereignty can escape this trap and focus on long-term value.
GPU development illustrates this distortion. The RTX 3080 met nearly all gaming needs, yet manufacturers push unnecessary performance gains to fuel stock prices rather than improve usability. GPUs are no longer designed for gamers but for AI and enterprise clients, shifting NVIDIA’s priorities toward financial engineering over real innovation.
This cycle of GPU inflation stems from fiat-driven incentives—growth for the sake of stock performance rather than actual demand. Under a sound money standard, companies would build durable products, prioritizing efficiency over forced obsolescence.
Just as individuals can reclaim financial sovereignty, businesses can do the same. Embracing sound money fosters sustainable business strategies, where technology serves real needs instead of short-term speculation.
Bitcoin
FITS
Marketing
TimeSovereignty
BitcoinFixesThis
OptOut
EngineeringNotFinance
SoundBusiness
-
@ d57360cb:4fe7d935
2025-02-06 18:31:30Mindfulness often has the misconception that by practicing you can stop your mind from thinking and obtain an empty mind.
While one can definitely achieve moments of emptiness in thinking, this view that emptiness is the goal can be the very obstacle in your way leading to frustration with the practice.
If we adjust our perspective and see mindfulness as learning to accept the situations we find ourselves in and adjust to them rather than fighting them, we achieve a kind of grace under pressure.
The thoughts are part of the practice, just like cars on the road are part of driving, or the danger of a punch is always a threat to a boxer.
The difference between the novice and the seasoned is one has accepted and acclimated to the realities of the situation instead of fighting them, in this one finds freedom.
-
@ e3ba5e1a:5e433365
2025-02-05 17:47:16I got into a friendly discussion on X regarding health insurance. The specific question was how to deal with health insurance companies (presumably unfairly) denying claims? My answer, as usual: get government out of it!
The US healthcare system is essentially the worst of both worlds:
- Unlike full single payer, individuals incur high costs
- Unlike a true free market, regulation causes increases in costs and decreases competition among insurers
I'm firmly on the side of moving towards the free market. (And I say that as someone living under a single payer system now.) Here's what I would do:
- Get rid of tax incentives that make health insurance tied to your employer, giving individuals back proper freedom of choice.
- Reduce regulations significantly.
-
In the short term, some people will still get rejected claims and other obnoxious behavior from insurance companies. We address that in two ways:
- Due to reduced regulations, new insurance companies will be able to enter the market offering more reliable coverage and better rates, and people will flock to them because they have the freedom to make their own choices.
- Sue the asses off of companies that reject claims unfairly. And ideally, as one of the few legitimate roles of government in all this, institute new laws that limit the ability of fine print to allow insurers to escape their responsibilities. (I'm hesitant that the latter will happen due to the incestuous relationship between Congress/regulators and insurers, but I can hope.)
Will this magically fix everything overnight like politicians normally promise? No. But it will allow the market to return to a healthy state. And I don't think it will take long (order of magnitude: 5-10 years) for it to come together, but that's just speculation.
And since there's a high correlation between those who believe government can fix problems by taking more control and demanding that only credentialed experts weigh in on a topic (both points I strongly disagree with BTW): I'm a trained actuary and worked in the insurance industry, and have directly seen how government regulation reduces competition, raises prices, and harms consumers.
And my final point: I don't think any prior art would be a good comparison for deregulation in the US, it's such a different market than any other country in the world for so many reasons that lessons wouldn't really translate. Nonetheless, I asked Grok for some empirical data on this, and at best the results of deregulation could be called "mixed," but likely more accurately "uncertain, confused, and subject to whatever interpretation anyone wants to apply."
https://x.com/i/grok/share/Zc8yOdrN8lS275hXJ92uwq98M
-
@ ccc8ee23:9f3d9783
2024-12-21 06:38:47Chef's notes
Enjoy these Chocolate Sprinkle Cookies, a delightful combination of buttery richness, velvety chocolate, and a crunchy sprinkle finish
Details
- ⏲️ Prep time: 10 min
- 🍳 Cook time: 90 min
- 🍽️ Servings: 10
Ingredients
- Plain flour 250 grams
- Margarine 100 grams
- Butter 100 grams
- Vanilla essence 1 tsp
- Milk powder 1 tbsp
- Sugar 40 grams
- Chocolate bar - 80 grams, melted
- Chocolate sprinkles - for decoration
Directions
- Make the Dough: Combine the plain flour, margarine, butter, milk powder, sugar, and vanilla essence in a mixing bowl. Knead the mixture by hand until smooth and well combined.
- Shape and divide the dough into small balls, weighing approximately 8 grams each.
- Preheat the oven to 175°C. Arrange the dough balls on a baking tray and bake for about 30 minutes, or until the cookies are dry and fully cooked.
- Coat with Chocolate: Melt the chocolate bar using a double boiler or microwave. Once the cookies have cooled completely, dip each cookie into the melted chocolate, ensuring they are evenly coated.
- Place the coated cookies onto paper cups.
- While the chocolate coating is still wet, sprinkle chocolate sprinkles on top of each cookie.
- Allow the chocolate to dry completely, then arrange the cookies in a decorative airtight container for storage.
-
@ 91bea5cd:1df4451c
2025-02-04 17:24:50Definição de ULID:
Timestamp 48 bits, Aleatoriedade 80 bits Sendo Timestamp 48 bits inteiro, tempo UNIX em milissegundos, Não ficará sem espaço até o ano 10889 d.C. e Aleatoriedade 80 bits, Fonte criptograficamente segura de aleatoriedade, se possível.
Gerar ULID
```sql
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE FUNCTION generate_ulid() RETURNS TEXT AS $$ DECLARE -- Crockford's Base32 encoding BYTEA = '0123456789ABCDEFGHJKMNPQRSTVWXYZ'; timestamp BYTEA = E'\000\000\000\000\000\000'; output TEXT = '';
unix_time BIGINT; ulid BYTEA; BEGIN -- 6 timestamp bytes unix_time = (EXTRACT(EPOCH FROM CLOCK_TIMESTAMP()) * 1000)::BIGINT; timestamp = SET_BYTE(timestamp, 0, (unix_time >> 40)::BIT(8)::INTEGER); timestamp = SET_BYTE(timestamp, 1, (unix_time >> 32)::BIT(8)::INTEGER); timestamp = SET_BYTE(timestamp, 2, (unix_time >> 24)::BIT(8)::INTEGER); timestamp = SET_BYTE(timestamp, 3, (unix_time >> 16)::BIT(8)::INTEGER); timestamp = SET_BYTE(timestamp, 4, (unix_time >> 8)::BIT(8)::INTEGER); timestamp = SET_BYTE(timestamp, 5, unix_time::BIT(8)::INTEGER);
-- 10 entropy bytes ulid = timestamp || gen_random_bytes(10);
-- Encode the timestamp output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 0) & 224) >> 5)); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 0) & 31))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 1) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 1) & 7) << 2) | ((GET_BYTE(ulid, 2) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 2) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 2) & 1) << 4) | ((GET_BYTE(ulid, 3) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 3) & 15) << 1) | ((GET_BYTE(ulid, 4) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 4) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 4) & 3) << 3) | ((GET_BYTE(ulid, 5) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 5) & 31)));
-- Encode the entropy output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 6) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 6) & 7) << 2) | ((GET_BYTE(ulid, 7) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 7) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 7) & 1) << 4) | ((GET_BYTE(ulid, 8) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 8) & 15) << 1) | ((GET_BYTE(ulid, 9) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 9) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 9) & 3) << 3) | ((GET_BYTE(ulid, 10) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 10) & 31))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 11) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 11) & 7) << 2) | ((GET_BYTE(ulid, 12) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 12) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 12) & 1) << 4) | ((GET_BYTE(ulid, 13) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 13) & 15) << 1) | ((GET_BYTE(ulid, 14) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 14) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 14) & 3) << 3) | ((GET_BYTE(ulid, 15) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 15) & 31)));
RETURN output; END $$ LANGUAGE plpgsql VOLATILE; ```
ULID TO UUID
```sql CREATE OR REPLACE FUNCTION parse_ulid(ulid text) RETURNS bytea AS $$ DECLARE -- 16byte bytes bytea = E'\x00000000 00000000 00000000 00000000'; v char[]; -- Allow for O(1) lookup of index values dec integer[] = ARRAY[ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 255, 255, 255, 255, 255, 255, 255, 10, 11, 12, 13, 14, 15, 16, 17, 1, 18, 19, 1, 20, 21, 0, 22, 23, 24, 25, 26, 255, 27, 28, 29, 30, 31, 255, 255, 255, 255, 255, 255, 10, 11, 12, 13, 14, 15, 16, 17, 1, 18, 19, 1, 20, 21, 0, 22, 23, 24, 25, 26, 255, 27, 28, 29, 30, 31 ]; BEGIN IF NOT ulid ~* '^[0-7][0-9ABCDEFGHJKMNPQRSTVWXYZ]{25}$' THEN RAISE EXCEPTION 'Invalid ULID: %', ulid; END IF;
v = regexp_split_to_array(ulid, '');
-- 6 bytes timestamp (48 bits) bytes = SET_BYTE(bytes, 0, (dec[ASCII(v[1])] << 5) | dec[ASCII(v[2])]); bytes = SET_BYTE(bytes, 1, (dec[ASCII(v[3])] << 3) | (dec[ASCII(v[4])] >> 2)); bytes = SET_BYTE(bytes, 2, (dec[ASCII(v[4])] << 6) | (dec[ASCII(v[5])] << 1) | (dec[ASCII(v[6])] >> 4)); bytes = SET_BYTE(bytes, 3, (dec[ASCII(v[6])] << 4) | (dec[ASCII(v[7])] >> 1)); bytes = SET_BYTE(bytes, 4, (dec[ASCII(v[7])] << 7) | (dec[ASCII(v[8])] << 2) | (dec[ASCII(v[9])] >> 3)); bytes = SET_BYTE(bytes, 5, (dec[ASCII(v[9])] << 5) | dec[ASCII(v[10])]);
-- 10 bytes of entropy (80 bits); bytes = SET_BYTE(bytes, 6, (dec[ASCII(v[11])] << 3) | (dec[ASCII(v[12])] >> 2)); bytes = SET_BYTE(bytes, 7, (dec[ASCII(v[12])] << 6) | (dec[ASCII(v[13])] << 1) | (dec[ASCII(v[14])] >> 4)); bytes = SET_BYTE(bytes, 8, (dec[ASCII(v[14])] << 4) | (dec[ASCII(v[15])] >> 1)); bytes = SET_BYTE(bytes, 9, (dec[ASCII(v[15])] << 7) | (dec[ASCII(v[16])] << 2) | (dec[ASCII(v[17])] >> 3)); bytes = SET_BYTE(bytes, 10, (dec[ASCII(v[17])] << 5) | dec[ASCII(v[18])]); bytes = SET_BYTE(bytes, 11, (dec[ASCII(v[19])] << 3) | (dec[ASCII(v[20])] >> 2)); bytes = SET_BYTE(bytes, 12, (dec[ASCII(v[20])] << 6) | (dec[ASCII(v[21])] << 1) | (dec[ASCII(v[22])] >> 4)); bytes = SET_BYTE(bytes, 13, (dec[ASCII(v[22])] << 4) | (dec[ASCII(v[23])] >> 1)); bytes = SET_BYTE(bytes, 14, (dec[ASCII(v[23])] << 7) | (dec[ASCII(v[24])] << 2) | (dec[ASCII(v[25])] >> 3)); bytes = SET_BYTE(bytes, 15, (dec[ASCII(v[25])] << 5) | dec[ASCII(v[26])]);
RETURN bytes; END $$ LANGUAGE plpgsql IMMUTABLE;
CREATE OR REPLACE FUNCTION ulid_to_uuid(ulid text) RETURNS uuid AS $$ BEGIN RETURN encode(parse_ulid(ulid), 'hex')::uuid; END $$ LANGUAGE plpgsql IMMUTABLE; ```
UUID to ULID
```sql CREATE OR REPLACE FUNCTION uuid_to_ulid(id uuid) RETURNS text AS $$ DECLARE encoding bytea = '0123456789ABCDEFGHJKMNPQRSTVWXYZ'; output text = ''; uuid_bytes bytea = uuid_send(id); BEGIN
-- Encode the timestamp output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 0) & 224) >> 5)); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 0) & 31))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 1) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 1) & 7) << 2) | ((GET_BYTE(uuid_bytes, 2) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 2) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 2) & 1) << 4) | ((GET_BYTE(uuid_bytes, 3) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 3) & 15) << 1) | ((GET_BYTE(uuid_bytes, 4) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 4) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 4) & 3) << 3) | ((GET_BYTE(uuid_bytes, 5) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 5) & 31)));
-- Encode the entropy output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 6) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 6) & 7) << 2) | ((GET_BYTE(uuid_bytes, 7) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 7) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 7) & 1) << 4) | ((GET_BYTE(uuid_bytes, 8) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 8) & 15) << 1) | ((GET_BYTE(uuid_bytes, 9) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 9) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 9) & 3) << 3) | ((GET_BYTE(uuid_bytes, 10) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 10) & 31))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 11) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 11) & 7) << 2) | ((GET_BYTE(uuid_bytes, 12) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 12) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 12) & 1) << 4) | ((GET_BYTE(uuid_bytes, 13) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 13) & 15) << 1) | ((GET_BYTE(uuid_bytes, 14) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 14) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 14) & 3) << 3) | ((GET_BYTE(uuid_bytes, 15) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 15) & 31)));
RETURN output; END $$ LANGUAGE plpgsql IMMUTABLE; ```
Gera 11 Digitos aleatórios: YBKXG0CKTH4
```sql -- Cria a extensão pgcrypto para gerar uuid CREATE EXTENSION IF NOT EXISTS pgcrypto;
-- Cria a função para gerar ULID CREATE OR REPLACE FUNCTION gen_lrandom() RETURNS TEXT AS $$ DECLARE ts_millis BIGINT; ts_chars TEXT; random_bytes BYTEA; random_chars TEXT; base32_chars TEXT := '0123456789ABCDEFGHJKMNPQRSTVWXYZ'; i INT; BEGIN -- Pega o timestamp em milissegundos ts_millis := FLOOR(EXTRACT(EPOCH FROM clock_timestamp()) * 1000)::BIGINT;
-- Converte o timestamp para base32 ts_chars := ''; FOR i IN REVERSE 0..11 LOOP ts_chars := ts_chars || substr(base32_chars, ((ts_millis >> (5 * i)) & 31) + 1, 1); END LOOP; -- Gera 10 bytes aleatórios e converte para base32 random_bytes := gen_random_bytes(10); random_chars := ''; FOR i IN 0..9 LOOP random_chars := random_chars || substr(base32_chars, ((get_byte(random_bytes, i) >> 3) & 31) + 1, 1); IF i < 9 THEN random_chars := random_chars || substr(base32_chars, (((get_byte(random_bytes, i) & 7) << 2) | (get_byte(random_bytes, i + 1) >> 6)) & 31 + 1, 1); ELSE random_chars := random_chars || substr(base32_chars, ((get_byte(random_bytes, i) & 7) << 2) + 1, 1); END IF; END LOOP; -- Concatena o timestamp e os caracteres aleatórios RETURN ts_chars || random_chars;
END; $$ LANGUAGE plpgsql; ```
Exemplo de USO
```sql -- Criação da extensão caso não exista CREATE EXTENSION IF NOT EXISTS pgcrypto; -- Criação da tabela pessoas CREATE TABLE pessoas ( ID UUID DEFAULT gen_random_uuid ( ) PRIMARY KEY, nome TEXT NOT NULL );
-- Busca Pessoa na tabela SELECT * FROM "pessoas" WHERE uuid_to_ulid ( ID ) = '252FAC9F3V8EF80SSDK8PXW02F'; ```
Fontes
- https://github.com/scoville/pgsql-ulid
- https://github.com/geckoboard/pgulid
-
@ c43d6de3:a6583169
2025-02-20 13:14:38How Are We Defining Happiness?
In 1776, Thomas Jefferson penned the words that would echo through history:
“…that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.”
These words were not simply a poetic flourish—they reflected a deep understanding of philosophy, one that Jefferson, an avid reader of Aristotle, likely connected with the Greek concept ofeudaimonia.
Aristotle described eudaimonia as the highest form of human flourishing, achieved through virtuous living, strong character, and meaningful social bonds.
But what does happiness mean today?
According tothe World Happiness Report, six factors determine a nation's happiness:
- Income
- Health
- Social support
- Freedom to make life decisions
- Generosity
- The absence of corruption
These components closely mirror Jefferson’s vision of life, liberty, and the pursuit of happiness. Yet despite living in an era of unprecedented convenience and opportunity, many in our generation struggle with unhappiness, anxiety, and a pervasive sense of dissatisfaction.
So, what went wrong?
I believe its largely because of the absence of mentorship in modern society.
Aristotle emphasized that a person’s character—shaped by habits and guided by mentorship—was central to a flourishing life. He saw mentorship not as a luxury but as a necessity for cultivating wisdom, resilience, and social responsibility. Yet, in today’s world, strong mentor-mentee relationships have become increasingly rare.
When we invert Aristotle’s formula for happiness, we find the root causes of our collective unhappiness:
- A lack of mentorship and guidance
- Poor habits formed in the absence of discipline
- Excess and indulgence replacing moderation
- Rampant hypersensitivity rather than resilience
- A loss of moral grounding and sense of justice
- Struggles with forming and maintaining friendships
- Apathy toward civic engagement and community
Of all these, the absence of mentorship stands out as the foundational issue. Without guidance, young people are left to navigate life’s complexities alone, often falling into destructive habits.
In earlier generations, mentorship was woven into the fabric of society—through family, community leaders, apprenticeships, and even religious or philosophical instruction. Today, social media and fleeting digital interactions have replaced these deep, formative relationships.
Reclaiming Happiness Through Mentorship
To restore a sense of meaning and fulfillment, we must prioritize mentorship in our personal and professional lives. Parents, teachers, and leaders must recognize their responsibility to guide the next generation, not just with knowledge, but with wisdom. Seeking out mentors—and becoming one ourselves—can foster resilience, character, and purpose.
Happiness is not simply a product of material success or personal freedom; it is cultivated through relationships, values, and the pursuit of excellence. If we wish to see a happier generation, we must first rebuild the lost art of mentorship.
Thank you for reading!
If this article resonated with you, let me know with a zap and share it with friends who might find it insightful.
Your help sends a strong signal to keep making content like this!
Interested in fiction? Follow nostr:npub1j9cmpzhlzeex6y85c2pnt45r5zhxhtx73a2twt77fyjwequ4l4jsp5xd49 for great short stories and serialized fiction.
More articles you might like from Beneath The Ink:
nostr:naddr1qvzqqqr4gupzp3padh3au336rew4pzfx78s050p3dw7pmhurgr2ktdcwwxn9svtfqq2nvnr5d4nngw2zgd5k5c6etftrzez9fd9kkcl0pzp
nostr:naddr1qvzqqqr4gupzp3padh3au336rew4pzfx78s050p3dw7pmhurgr2ktdcwwxn9svtfqq2kvnfd094y26zkt9dxgmnw0fqkvhmfd4tng8wp0uv
nostr:naddr1qvzqqqr4gupzp3padh3au336rew4pzfx78s050p3dw7pmhurgr2ktdcwwxn9svtfqq25yan2w39rsjj0dqk5ckn52ptxsc3nve8hw0aftmq
nostr:naddr1qvzqqqr4gupzp3padh3au336rew4pzfx78s050p3dw7pmhurgr2ktdcwwxn9svtfqq2kjjzzfpjxvutjg33hjvpcw5cyjezyv9y5k0umm6k
-
@ fc481c65:e280e7ba
2025-02-22 03:28:20A matrix is a rectangular array of numbers, symbols, or expressions, arranged in rows and columns. The individual items in a matrix are called its elements or entries. They are foundational element in many areas of #Mathematics and #Engineering including #Electronics #Computer #Science #Finances and more.
Notation and Terms
- Dimensions: The size of a matrix is defined by its number of rows and columns and is often referred to as
m x n
, wherem
is the number of rows andn
is the number of columns. - Square Matrix: A matrix with the same number of rows and columns (
n x n
). - Diagonal Matrix: A square matrix where all elements off the main diagonal are zero.
- Identity Matrix: A diagonal matrix where all the elements on the main diagonal are 1. It's denoted as
I
. - Zero Matrix: A matrix all of whose entries are zero.
Basic Matrix Operations
- Addition and Subtraction
- Matrices must be of the same dimensions to be added or subtracted.
- Add or subtract corresponding elements.
- Example:
$$\begin{bmatrix}1 & 2 \\3 & 4\end{bmatrix}+\begin{bmatrix}5 & 6 \\7 & 8\end{bmatrix}=\begin{bmatrix}6 & 8 \\10 & 12\end{bmatrix}$$
- Scalar Multiplication
- Multiply every element of a matrix by a scalar (a single number).
- Example:
$$ 2 \times \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} = \begin{bmatrix} 2 & 4 \\ 6 & 8 \end{bmatrix} $$
- Matrix Multiplication
- The number of columns in the first matrix must be equal to the number of rows in the second matrix.
- The product of an
m x n
matrix and ann x p
matrix is anm x p
matrix. - Multiply rows by columns, summing the products of the corresponding elements.
- Example:
$$ \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \times \begin{bmatrix} 2 & 0 \\ 1 & 2 \end{bmatrix} = \begin{bmatrix} (1 \times 2 + 2 \times 1) & (1 \times 0 + 2 \times 2) \\ (3 \times 2 + 4 \times 1) & (3 \times 0 + 4 \times 2) \end{bmatrix} = \begin{bmatrix} 4 & 4 \\ 10 & 8 \end{bmatrix} $$
Special Matrix Operations
- Determinant
- Only for square matrices.
- A scalar value that can be computed from the elements of a square matrix and encodes certain properties of the matrix.
- Example for a 2x2 matrix:
$$ \text{det} \begin{bmatrix} a & b \\ c & d \end{bmatrix} = ad - bc $$
- Inverse
- Only for square matrices.
- The matrix that, when multiplied by the original matrix, results in the identity matrix.
- Not all matrices have inverses; a matrix must be "nonsingular" to have an inverse.
Practical Applications
- Solving Systems of Linear Equations
- Matrices are used to represent and solve systems of linear equations using methods like Gaussian elimination.
$$X=A^{-1}\times B$$
- Matrices are used to represent and solve systems of linear equations using methods like Gaussian elimination.
- Transformations in Computer Graphics
- Matrix multiplication is used to perform geometric transformations such as rotations, translations, and scaling.
$$R(\theta) = \begin{bmatrix} \cos(\theta) & -\sin(\theta) \\ \sin(\theta) & \cos(\theta) \end{bmatrix}$$
- Matrix multiplication is used to perform geometric transformations such as rotations, translations, and scaling.
Example System of Linear Equations
Suppose we have the following system of linear equations:
$$3x + 4y = 5\\2x - y = 1$$
This system can be expressed as a matrix equation $AX=B$ where: - $A$ is the matrix of coefficients, - $X$ is the column matrix of variables, - $B$ is the column matrix of constants. * Matrix A* (coefficients):$$\begin{bmatrix} 3 & 4 \\ 2 & -1 \end{bmatrix}$$
* Matrix X (variables):$$\begin{bmatrix} x \\ y \end{bmatrix}$$
* Matrix B (constants):$$\begin{bmatrix} 5 \\ 1 \end{bmatrix}$$
Now Organising in Matrix form
$$\begin{bmatrix} 3 & 4 \\ 2 & -1 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} 5 \\ 1 \end{bmatrix}$$
Solving the Equation
To solve for $X$, we can calculate the inverse of A (provided A is invertible) and then multiply it by B:
$$X=A^{-1}\times B$$
Matrices with SymPy
```python from sympy import Matrix, symbols
Define symbols
x, y, z = symbols('x y z')
Define a 2x2 matrix
A = Matrix([[1, 2], [3, 4]]) print("Matrix A:") print(A)
Define a 3x3 matrix with symbolic elements
B = Matrix([[x, y, z], [y, z, x], [z, x, y]]) print("\nMatrix B:") print(B)
Define two matrices of the same size
C = Matrix([[5, 6], [7, 8]]) D = Matrix([[1, 1], [1, 1]])
Addition
E = C + D print("\nMatrix Addition (C + D):") print(E)
Subtraction
F = C - D print("\nMatrix Subtraction (C - D):") print(F)
Scalar multiplication
G = 2 * A print("\nScalar Multiplication (2 * A):") print(G)
Matrix multiplication
H = A * C print("\nMatrix Multiplication (A * C):") print(H)
Determinant of a matrix
det_A = A.det() print("\nDeterminant of Matrix A:") print(det_A)
Inverse of a matrix
inv_A = A.inv() print("\nInverse of Matrix A:") print(inv_A)
Define the coefficient matrix A and the constant matrix B
A_sys = Matrix([[3, 4], [2, -1]]) B_sys = Matrix([5, 1])
Solve the system AX = B
X = A_sys.inv() * B_sys print("\nSolution to the system of linear equations:") print(X)
Compute eigenvalues and eigenvectors of a matrix
eigenvals = A.eigenvals() eigenvects = A.eigenvects()
print("\nEigenvalues of Matrix A:") print(eigenvals)
print("\nEigenvectors of Matrix A:") print(eigenvects)
```
References
- Dimensions: The size of a matrix is defined by its number of rows and columns and is often referred to as
-
@ 91bea5cd:1df4451c
2025-02-04 17:15:57Definição de ULID:
Timestamp 48 bits, Aleatoriedade 80 bits Sendo Timestamp 48 bits inteiro, tempo UNIX em milissegundos, Não ficará sem espaço até o ano 10889 d.C. e Aleatoriedade 80 bits, Fonte criptograficamente segura de aleatoriedade, se possível.
Gerar ULID
```sql
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE FUNCTION generate_ulid() RETURNS TEXT AS $$ DECLARE -- Crockford's Base32 encoding BYTEA = '0123456789ABCDEFGHJKMNPQRSTVWXYZ'; timestamp BYTEA = E'\000\000\000\000\000\000'; output TEXT = '';
unix_time BIGINT; ulid BYTEA; BEGIN -- 6 timestamp bytes unix_time = (EXTRACT(EPOCH FROM CLOCK_TIMESTAMP()) * 1000)::BIGINT; timestamp = SET_BYTE(timestamp, 0, (unix_time >> 40)::BIT(8)::INTEGER); timestamp = SET_BYTE(timestamp, 1, (unix_time >> 32)::BIT(8)::INTEGER); timestamp = SET_BYTE(timestamp, 2, (unix_time >> 24)::BIT(8)::INTEGER); timestamp = SET_BYTE(timestamp, 3, (unix_time >> 16)::BIT(8)::INTEGER); timestamp = SET_BYTE(timestamp, 4, (unix_time >> 8)::BIT(8)::INTEGER); timestamp = SET_BYTE(timestamp, 5, unix_time::BIT(8)::INTEGER);
-- 10 entropy bytes ulid = timestamp || gen_random_bytes(10);
-- Encode the timestamp output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 0) & 224) >> 5)); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 0) & 31))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 1) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 1) & 7) << 2) | ((GET_BYTE(ulid, 2) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 2) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 2) & 1) << 4) | ((GET_BYTE(ulid, 3) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 3) & 15) << 1) | ((GET_BYTE(ulid, 4) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 4) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 4) & 3) << 3) | ((GET_BYTE(ulid, 5) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 5) & 31)));
-- Encode the entropy output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 6) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 6) & 7) << 2) | ((GET_BYTE(ulid, 7) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 7) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 7) & 1) << 4) | ((GET_BYTE(ulid, 8) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 8) & 15) << 1) | ((GET_BYTE(ulid, 9) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 9) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 9) & 3) << 3) | ((GET_BYTE(ulid, 10) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 10) & 31))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 11) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 11) & 7) << 2) | ((GET_BYTE(ulid, 12) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 12) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 12) & 1) << 4) | ((GET_BYTE(ulid, 13) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 13) & 15) << 1) | ((GET_BYTE(ulid, 14) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 14) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 14) & 3) << 3) | ((GET_BYTE(ulid, 15) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 15) & 31)));
RETURN output; END $$ LANGUAGE plpgsql VOLATILE; ```
ULID TO UUID
```sql CREATE OR REPLACE FUNCTION parse_ulid(ulid text) RETURNS bytea AS $$ DECLARE -- 16byte bytes bytea = E'\x00000000 00000000 00000000 00000000'; v char[]; -- Allow for O(1) lookup of index values dec integer[] = ARRAY[ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 255, 255, 255, 255, 255, 255, 255, 10, 11, 12, 13, 14, 15, 16, 17, 1, 18, 19, 1, 20, 21, 0, 22, 23, 24, 25, 26, 255, 27, 28, 29, 30, 31, 255, 255, 255, 255, 255, 255, 10, 11, 12, 13, 14, 15, 16, 17, 1, 18, 19, 1, 20, 21, 0, 22, 23, 24, 25, 26, 255, 27, 28, 29, 30, 31 ]; BEGIN IF NOT ulid ~* '^[0-7][0-9ABCDEFGHJKMNPQRSTVWXYZ]{25}$' THEN RAISE EXCEPTION 'Invalid ULID: %', ulid; END IF;
v = regexp_split_to_array(ulid, '');
-- 6 bytes timestamp (48 bits) bytes = SET_BYTE(bytes, 0, (dec[ASCII(v[1])] << 5) | dec[ASCII(v[2])]); bytes = SET_BYTE(bytes, 1, (dec[ASCII(v[3])] << 3) | (dec[ASCII(v[4])] >> 2)); bytes = SET_BYTE(bytes, 2, (dec[ASCII(v[4])] << 6) | (dec[ASCII(v[5])] << 1) | (dec[ASCII(v[6])] >> 4)); bytes = SET_BYTE(bytes, 3, (dec[ASCII(v[6])] << 4) | (dec[ASCII(v[7])] >> 1)); bytes = SET_BYTE(bytes, 4, (dec[ASCII(v[7])] << 7) | (dec[ASCII(v[8])] << 2) | (dec[ASCII(v[9])] >> 3)); bytes = SET_BYTE(bytes, 5, (dec[ASCII(v[9])] << 5) | dec[ASCII(v[10])]);
-- 10 bytes of entropy (80 bits); bytes = SET_BYTE(bytes, 6, (dec[ASCII(v[11])] << 3) | (dec[ASCII(v[12])] >> 2)); bytes = SET_BYTE(bytes, 7, (dec[ASCII(v[12])] << 6) | (dec[ASCII(v[13])] << 1) | (dec[ASCII(v[14])] >> 4)); bytes = SET_BYTE(bytes, 8, (dec[ASCII(v[14])] << 4) | (dec[ASCII(v[15])] >> 1)); bytes = SET_BYTE(bytes, 9, (dec[ASCII(v[15])] << 7) | (dec[ASCII(v[16])] << 2) | (dec[ASCII(v[17])] >> 3)); bytes = SET_BYTE(bytes, 10, (dec[ASCII(v[17])] << 5) | dec[ASCII(v[18])]); bytes = SET_BYTE(bytes, 11, (dec[ASCII(v[19])] << 3) | (dec[ASCII(v[20])] >> 2)); bytes = SET_BYTE(bytes, 12, (dec[ASCII(v[20])] << 6) | (dec[ASCII(v[21])] << 1) | (dec[ASCII(v[22])] >> 4)); bytes = SET_BYTE(bytes, 13, (dec[ASCII(v[22])] << 4) | (dec[ASCII(v[23])] >> 1)); bytes = SET_BYTE(bytes, 14, (dec[ASCII(v[23])] << 7) | (dec[ASCII(v[24])] << 2) | (dec[ASCII(v[25])] >> 3)); bytes = SET_BYTE(bytes, 15, (dec[ASCII(v[25])] << 5) | dec[ASCII(v[26])]);
RETURN bytes; END $$ LANGUAGE plpgsql IMMUTABLE;
CREATE OR REPLACE FUNCTION ulid_to_uuid(ulid text) RETURNS uuid AS $$ BEGIN RETURN encode(parse_ulid(ulid), 'hex')::uuid; END $$ LANGUAGE plpgsql IMMUTABLE; ```
UUID to ULID
```sql CREATE OR REPLACE FUNCTION uuid_to_ulid(id uuid) RETURNS text AS $$ DECLARE encoding bytea = '0123456789ABCDEFGHJKMNPQRSTVWXYZ'; output text = ''; uuid_bytes bytea = uuid_send(id); BEGIN
-- Encode the timestamp output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 0) & 224) >> 5)); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 0) & 31))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 1) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 1) & 7) << 2) | ((GET_BYTE(uuid_bytes, 2) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 2) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 2) & 1) << 4) | ((GET_BYTE(uuid_bytes, 3) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 3) & 15) << 1) | ((GET_BYTE(uuid_bytes, 4) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 4) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 4) & 3) << 3) | ((GET_BYTE(uuid_bytes, 5) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 5) & 31)));
-- Encode the entropy output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 6) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 6) & 7) << 2) | ((GET_BYTE(uuid_bytes, 7) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 7) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 7) & 1) << 4) | ((GET_BYTE(uuid_bytes, 8) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 8) & 15) << 1) | ((GET_BYTE(uuid_bytes, 9) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 9) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 9) & 3) << 3) | ((GET_BYTE(uuid_bytes, 10) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 10) & 31))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 11) & 248) >> 3)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 11) & 7) << 2) | ((GET_BYTE(uuid_bytes, 12) & 192) >> 6))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 12) & 62) >> 1)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 12) & 1) << 4) | ((GET_BYTE(uuid_bytes, 13) & 240) >> 4))); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 13) & 15) << 1) | ((GET_BYTE(uuid_bytes, 14) & 128) >> 7))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 14) & 124) >> 2)); output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 14) & 3) << 3) | ((GET_BYTE(uuid_bytes, 15) & 224) >> 5))); output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 15) & 31)));
RETURN output; END $$ LANGUAGE plpgsql IMMUTABLE; ```
Gera 11 Digitos aleatórios: YBKXG0CKTH4
```sql -- Cria a extensão pgcrypto para gerar uuid CREATE EXTENSION IF NOT EXISTS pgcrypto;
-- Cria a função para gerar ULID CREATE OR REPLACE FUNCTION gen_lrandom() RETURNS TEXT AS $$ DECLARE ts_millis BIGINT; ts_chars TEXT; random_bytes BYTEA; random_chars TEXT; base32_chars TEXT := '0123456789ABCDEFGHJKMNPQRSTVWXYZ'; i INT; BEGIN -- Pega o timestamp em milissegundos ts_millis := FLOOR(EXTRACT(EPOCH FROM clock_timestamp()) * 1000)::BIGINT;
-- Converte o timestamp para base32 ts_chars := ''; FOR i IN REVERSE 0..11 LOOP ts_chars := ts_chars || substr(base32_chars, ((ts_millis >> (5 * i)) & 31) + 1, 1); END LOOP; -- Gera 10 bytes aleatórios e converte para base32 random_bytes := gen_random_bytes(10); random_chars := ''; FOR i IN 0..9 LOOP random_chars := random_chars || substr(base32_chars, ((get_byte(random_bytes, i) >> 3) & 31) + 1, 1); IF i < 9 THEN random_chars := random_chars || substr(base32_chars, (((get_byte(random_bytes, i) & 7) << 2) | (get_byte(random_bytes, i + 1) >> 6)) & 31 + 1, 1); ELSE random_chars := random_chars || substr(base32_chars, ((get_byte(random_bytes, i) & 7) << 2) + 1, 1); END IF; END LOOP; -- Concatena o timestamp e os caracteres aleatórios RETURN ts_chars || random_chars;
END; $$ LANGUAGE plpgsql; ```
Exemplo de USO
```sql -- Criação da extensão caso não exista CREATE EXTENSION IF NOT EXISTS pgcrypto; -- Criação da tabela pessoas CREATE TABLE pessoas ( ID UUID DEFAULT gen_random_uuid ( ) PRIMARY KEY, nome TEXT NOT NULL );
-- Busca Pessoa na tabela SELECT * FROM "pessoas" WHERE uuid_to_ulid ( ID ) = '252FAC9F3V8EF80SSDK8PXW02F'; ```
Fontes
- https://github.com/scoville/pgsql-ulid
- https://github.com/geckoboard/pgulid
-
@ d34e832d:383f78d0
2025-02-22 01:07:13npub16d8gxt2z4k9e8sdpc0yyqzf5gp0np09ls4lnn630qzxzvwpl0rgq5h4rzv
How to Run a Local Matrix Server for Secure Communications
Running a self-hosted Matrix server allows you to take control of your communications, ensuring privacy and sovereignty. By hosting your own homeserver, you eliminate reliance on centralized services while maintaining encrypted, federated messaging. This guide covers the full installation process for setting up a Matrix homeserver using Synapse, the official reference implementation.
1. Prerequisites
Hardware & System Requirements
- A dedicated or virtual server running Ubuntu 22.04 LTS (or Debian-based OS)
- Minimum 2GB RAM (4GB+ recommended for production)
- At least 10GB disk space (more if storing media)
- A public domain name (optional for federation)
Dependencies
Ensure your system is updated and install required packages:
sh sudo apt update && sudo apt upgrade -y sudo apt install -y curl wget gnupg2 lsb-release software-properties-common python3-pip virtualenv
2. Install Matrix Synapse
Step 1: Add Matrix Repository
sh sudo apt install -y lsb-release wget apt-transport-https sudo wget -O /usr/share/keyrings/matrix-keyring.asc https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/matrix-keyring.asc] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/matrix-org.list sudo apt update
Step 2: Install Synapse
sh sudo apt install -y matrix-synapse-py3
During installation, enter your desired domain name (e.g.,
matrix.example.com
).Step 3: Start and Enable Synapse
sh sudo systemctl enable --now matrix-synapse
3. Configure Matrix Homeserver
Step 1: Edit the Configuration File
sh sudo nano /etc/matrix-synapse/homeserver.yaml
- Setserver_name
to your domain (example.com
)
- Enable registration if needed (enable_registration: true
)
- Configure log level (log_level: INFO
)Save and exit (
CTRL+X
, thenY
).Step 2: Restart Synapse
sh sudo systemctl restart matrix-synapse
4. Set Up a Reverse Proxy (NGINX + Let’s Encrypt SSL)
Step 1: Install NGINX and Certbot
sh sudo apt install -y nginx certbot python3-certbot-nginx
Step 2: Obtain SSL Certificate
sh sudo certbot --nginx -d matrix.example.com
Step 3: Configure NGINX
Create a new file:
sh sudo nano /etc/nginx/sites-available/matrix
Paste the following configuration:
```nginx server { listen 80; server_name matrix.example.com; return 301 https://$host$request_uri; }server { listen 443 ssl; server_name matrix.example.com;
ssl_certificate /etc/letsencrypt/live/matrix.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/matrix.example.com/privkey.pem; location /_matrix/ { proxy_pass http://localhost:8008; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; }
} ``` Save and exit.
Step 4: Enable the Configuration
sh sudo ln -s /etc/nginx/sites-available/matrix /etc/nginx/sites-enabled/ sudo systemctl restart nginx
5. Create an Admin User
Run the following command:
sh register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008
Follow the prompts to create an admin user.
6. Test Your Matrix Server
- Open a browser and go to:
https://matrix.example.com/_matrix/client/versions
- You should see a JSON response indicating your homeserver is running.
- Use Element (https://element.io) to log in with your new user credentials.
7. Federation (Optional)
To allow federation, ensure your DNS has an SRV record:
_matrix._tcp.example.com. 3600 IN SRV 10 5 443 matrix.example.com.
You can check your federation status at:
https://federationtester.matrix.org/
8. Additional Features
Bridges (Connect to Other Platforms)
- Discord Bridge: https://github.com/Half-Shot/matrix-appservice-discord
- Telegram Bridge: https://github.com/tulir/mautrix-telegram
Hosting a TURN Server (For Calls & Video)
Install coturn for improved call reliability:
sh sudo apt install -y coturn
Edit/etc/turnserver.conf
to include:
listening-port=3478 fingerprint use-auth-secret static-auth-secret=your-random-secret realm=matrix.example.com
Enable and start the service:
sh sudo systemctl enable --now coturn
9. Backup & Maintenance
Database Backup
sh sudo systemctl stop matrix-synapse sudo tar -czvf matrix-backup.tar.gz /var/lib/matrix-synapse/ sudo systemctl start matrix-synapse
Updating Synapse
sh sudo apt update && sudo apt upgrade -y matrix-synapse-py3 sudo systemctl restart matrix-synapse
Connections
- Self-Hosting for Digital Sovereignty
- Nostr and Matrix Integration for Decentralized Messaging
Donations via
- lightninglayerhash@getalby.com
-
@ b4403b24:83542d4e
2025-02-22 17:59:03Chainflip says it has limited some frontend services but can’t fully block transactions as a decentralized protocol.
Over $1.1M in ETH has already been converted.
Well done to them - not for the heist but for the decision to convert weak money to sound money 😜
originally posted at https://stacker.news/items/894141
-
@ dd664d5e:5633d319
2025-02-12 07:05:51I think this note from Chip (nostr:npub1qdjn8j4gwgmkj3k5un775nq6q3q7mguv5tvajstmkdsqdja2havq03fqm7) is one of those things that people with business management experience take a lot more seriously than most developers and influencers do.
I am painfully aware of the cost of systems administration, financial transaction management and recordkeeping, recruiting and personnel management, legal and compliance, requirements management, technical support, renting and managing physical spaces and infrastructure, negotiating with suppliers, customer service, etc. etc.
There's this idea, on Nostr, that sort of trickled in along with Bitcoin Twitter, that we would all just be isolated subsistance farmers and one-man-show podcasters with a gigantic server rack in the basement. But some of us are running real companies -- on and off Nostr, for-profit and non-profit -- and it often requires a lot of human labor.
The things we build aren't meant to be used by one person and his girlfriend and his dog. Yes, he can also run all these things, himself, but he no longer has to. Our existence gives him the choice: run these things or pay us to run them and spend your time doing something else, that you do better than we do.
These things are meant to be used by hundreds... thousands... eventually millions of people. The workflows, processes, infrastructure, and personnel need to be able to scale up-and-down, scale in-and-out, work smoothly with 5 people or 50 people. These are the sort of Nostr systems that wouldn't collapse when encountering a sudden influx or mass-escape. But these systems are much more complex and they take time to build and staff to run them. (And, no, AI can't replace them all. AI means that they now also have to integrate a bunch of AI into the system and maintain that, too.)
GitCitadel (nostr:npub1s3ht77dq4zqnya8vjun5jp3p44pr794ru36d0ltxu65chljw8xjqd975wz) is very automation-forward, but we still have to front the incredibly high cost of designing and building the automation, train people to interact with it (there are now over 20 people integrated into the workflow!), adjust it based upon their feedback, and we have to support the automation, once it's running.
This sort of streamlined machine is what people pay companies for, not code. That is why there's little business cost to open source.
Open-source is great, but...
nostr:nevent1qqsgqh2dedhagyd9k8yfk2lagswjl7y627k9fpnq4l436ccmlys0s3qprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj7q3qqdjn8j4gwgmkj3k5un775nq6q3q7mguv5tvajstmkdsqdja2havqxpqqqqqqzdhnyjm
-
@ d34e832d:383f78d0
2025-02-22 00:57:07[npub16d8gxt2z4k9e8sdpc0yyqzf5gp0np09ls4lnn630qzxzvwpl0rgq5h4rzv]
Why Signal and Matrix Matter in a World of Mass Surveillance
In an era where mass surveillance has become the norm, privacy-focused communication tools are essential for digital sovereignty. Signal and Matrix provide individuals and communities with encrypted, censorship-resistant messaging solutions that challenge centralized control over information exchange.
1. Signal – End-to-End Encryption and Metadata Resistance
- Proven Cryptographic Security: Signal’s end-to-end encryption, powered by the Signal Protocol, ensures messages remain private even if intercepted.
- Metadata Protection with Sealed Sender: Signal minimizes metadata exposure, preventing third parties from knowing who is communicating with whom.
- Simple and Ubiquitous Privacy: Designed for ease of use, Signal bridges the gap between security and accessibility, making privacy mainstream.
2. Matrix – Decentralized and Federated Communication
- Self-Hosted and Federated Infrastructure: Unlike centralized services, Matrix allows users to host their own servers, reducing reliance on single points of failure.
- Bridging Across Platforms: Matrix bridges seamlessly with other communication protocols (IRC, XMPP, Slack, etc.), creating a unified, decentralized network.
- End-to-End Encryption and Decentralized Identity: Matrix offers fully encrypted rooms and a decentralized identity system, ensuring control over user data.
3. Mass Surveillance vs. Private Communication
- Government and Corporate Data Harvesting: Centralized platforms like WhatsApp, Facebook Messenger, and Gmail log metadata and conversations, creating massive surveillance databases.
- The Threat of AI-Driven Censorship: Machine learning algorithms analyze user behavior, making privacy-invasive censorship and social credit scoring systems a reality.
- Decentralization as a Resistance Strategy: By adopting Signal and Matrix, individuals reclaim their right to private conversations without interference from state or corporate actors.
Integration Potential and Future Developments
-
Bitcoin and Encrypted Messaging: Signal and Matrix can be combined with Bitcoin for private transactions and communication, furthering financial sovereignty.
-
P2P and Nostr Integration: Future developments could see Matrix and Nostr integrated for even more robust censorship-resistant communication.
Donations via
- lightninglayerhash@getalby.com
-
@ fd208ee8:0fd927c1
2025-02-06 15:58:38Beginning at the start
In my previous article, The Establishment, I answered the question: "How do we form a company?" I realize, now, that I was getting a bit ahead, of myself, as the precursor to a company is a team, and many people struggle to form teams. So, I will go back to the beginning, and then you can read both articles to the end, and then stop.
The Initiation
The first, and most-difficult step of team formation, is the initiation. We know that it must be the most-difficult, as it's the step that carries the highest potential reward, and it's the step that is tried-and-failed most often. (Some people, like Elon Musk or Donald Trump, are born Initiators with excellent follow-through, but this archetype is exceedingly thin on the ground because it requires you to be mildly autistic, have barely-throttled ADHD, and/or tend to megalomania, also popularly known as "toxic masculinity", "CEO personality", or "being a successful military officer".)
Someone needs to form a useful, attractive Vision and then motivate other people to help them achieve it. That sounds really easy, but it's actually brutally difficult because * You have to come up with an idea that is coherent, plausible, and inspiring. * You have to be able to communicate that idea to other people and make it appealing to them, by tying it into their own personal goals and desires. * You have to be able to hone and reformulate that idea, constantly, to correct it or to re-motivate the other team members. * You have to defend the idea against detractors, naysayers, and trolls, and you have to do it so vociferously, that it will erode your own popularity among those who disagree with you and open you to personal attacks. * You have to be able to focus on the idea, yourself, for a long stretch of time, and not allow yourself to get bored, lazy, or distracted.
So, just do and be all of those things, and then initiate the team, with the method I will name the Hatbock Method. It is so named because of the classic, German initiation ritual, in which an Initiator stands up, loudly defines their Vision and calls into a group "Wer hat Bock?" (roughly, "Who has the hunger/desire?") and whoever responds with "Ich hab Bock." (roughly, "Yes, I hunger for this.") is a part of the team.
Then the Initiator says, "Okay, everyone with the hunger, let's sit down together, and discuss this some more." (This "sitting" is literally called a "seating", or "Sitzung", which is the German word for "meeting".)
The Sitting
We now get to the second most difficult part of team formation: figuring out where to sit. Most teams get this wrong, repeatedly, and many teams dissolve or fracture under the difficulty of this momentous decision. You would think organizing yourselves online would make this easier ("Oh, we'll just meet online!"), but the number of places available for sitting online are limitless. You can talk your whole Vision into the ground, with laborous discussions and migrations between Chachi, OxChat, Telegram, SimpleX, Slack, Discord, WhatsApp, GitHub, Teams, Coracle, Matrix... you get the idea.
Try to keep in mind that the Vision is more important than the seating area, and go with the flow. Simply, find someplace and go there. Worry about it again, at a later date. Don't lose momentum. Sit down and start discussing the Vision, immediately.
Now, this next bit is very important:
Do not let anyone outside your team influence where you sit!
...unless they are providing your team with some good, service, or income, that makes choosing their preferred location the superior choice.
This is the German Stammtisch principle, where a host encourages you to come sit down, regularly, in some particular place, because your sitting there provides them with some benefit: they can overhear your conversations, get you to test out their seating area, sell you refreshments, etc. Your choice of seating, in other words, is a valuable good, and you should only "sell" it to someone who rewards you in measure. They have to reward you because their preferred seating area wasn't your immediate and obvious choice, so there was probably something unappealing or uncertain about the seating area.
Plan it in
Once you've sat down, and finished your rough draft of the Vision, you need to figure out when to sit. This is the third most-difficult part of team formation. (Yes, don't worry, it gets easier as it goes along.)
The most popular plan is the Wirsehenuns Plan (roughly, "We'll see each other, around.") This can work quite well, if you just want to have a loose collaboration, that calls itself together in an ad hoc fashion, when a team member feels the need. Also known as "@ me, bros".
It's not a great plan for more intensive collaboration, as that tends to need a certain amount of velocity, to actually happen, as the speed of movement has a centrifugal effect on the tasks. Team momentum, in other words, creates a sort of gravity, that keeps the team together as a unit. So, for deeper teamwork, I would recommend the Stammtisch variant: name a place and date/time, when you will next meet. Preferably, on a rotating schedule: daily, weekly, last Thursday of the month, etc.
And then meet there and then. And discuss amongst yourselves. Set clear, short-term tasks (and assign them to particular people!), medium-term strategies, and longer-term goals. Write everything down. Anything not written down, is a suggestion, not an assigned task.
If you find your Stammtisch becoming increasingly rewarding and productive, and your goals start moving closer and closer into sight, then you might want to formalize your team structure further, as a company.
-
@ e3ba5e1a:5e433365
2025-02-04 08:29:00President Trump has started rolling out his tariffs, something I blogged about in November. People are talking about these tariffs a lot right now, with many people (correctly) commenting on how consumers will end up with higher prices as a result of these tariffs. While that part is true, I’ve seen a lot of people taking it to the next, incorrect step: that consumers will pay the entirety of the tax. I put up a poll on X to see what people thought, and while the right answer got a lot of votes, it wasn't the winner.
For purposes of this blog post, our ultimate question will be the following:
- Suppose apples currently sell for $1 each in the entire United States.
- There are domestic sellers and foreign sellers of apples, all receiving the same price.
- There are no taxes or tariffs on the purchase of apples.
- The question is: if the US federal government puts a $0.50 import tariff per apple, what will be the change in the following:
- Number of apples bought in the US
- Price paid by buyers for apples in the US
- Post-tax price received by domestic apple producers
- Post-tax price received by foreign apple producers
Before we can answer that question, we need to ask an easier, first question: before instituting the tariff, why do apples cost $1?
And finally, before we dive into the details, let me provide you with the answers to the ultimate question. I recommend you try to guess these answers before reading this, and if you get it wrong, try to understand why:
- The number of apples bought will go down
- The buyers will pay more for each apple they buy, but not the full amount of the tariff
- Domestic apple sellers will receive a higher price per apple
- Foreign apple sellers will receive a lower price per apple, but not lowered by the full amount of the tariff
In other words, regardless of who sends the payment to the government, both taxed parties (domestic buyers and foreign sellers) will absorb some of the costs of the tariff, while domestic sellers will benefit from the protectionism provided by tariffs and be able to sell at a higher price per unit.
Marginal benefit
All of the numbers discussed below are part of a helper Google Sheet I put together for this analysis. Also, apologies about the jagged lines in the charts below, I hadn’t realized before starting on this that there are some difficulties with creating supply and demand charts in Google Sheets.
Let’s say I absolutely love apples, they’re my favorite food. How much would I be willing to pay for a single apple? You might say “$1, that’s the price in the supermarket,” and in many ways you’d be right. If I walk into supermarket A, see apples on sale for $50, and know that I can buy them at supermarket B for $1, I’ll almost certainly leave A and go buy at B.
But that’s not what I mean. What I mean is: how high would the price of apples have to go everywhere so that I’d no longer be willing to buy a single apple? This is a purely personal, subjective opinion. It’s impacted by how much money I have available, other expenses I need to cover, and how much I like apples. But let’s say the number is $5.
How much would I be willing to pay for another apple? Maybe another $5. But how much am I willing to pay for the 1,000th apple? 10,000th? At some point, I’ll get sick of apples, or run out of space to keep the apples, or not be able to eat, cook, and otherwise preserve all those apples before they rot.
The point being: I’ll be progressively willing to spend less and less money for each apple. This form of analysis is called marginal benefit: how much benefit (expressed as dollars I’m willing to spend) will I receive from each apple? This is a downward sloping function: for each additional apple I buy (quantity demanded), the price I’m willing to pay goes down. This is what gives my personal demand curve. And if we aggregate demand curves across all market participants (meaning: everyone interested in buying apples), we end up with something like this:
Assuming no changes in people’s behavior and other conditions in the market, this chart tells us how many apples will be purchased by our buyers at each price point between $0.50 and $5. And ceteris paribus (all else being equal), this will continue to be the demand curve for apples.
Marginal cost
Demand is half the story of economics. The other half is supply, or: how many apples will I sell at each price point? Supply curves are upward sloping: the higher the price, the more a person or company is willing and able to sell a product.
Let’s understand why. Suppose I have an apple orchard. It’s a large property right next to my house. With about 2 minutes of effort, I can walk out of my house, find the nearest tree, pick 5 apples off the tree, and call it a day. 5 apples for 2 minutes of effort is pretty good, right?
Yes, there was all the effort necessary to buy the land, and plant the trees, and water them… and a bunch more than I likely can’t even guess at. We’re going to ignore all of that for our analysis, because for short-term supply-and-demand movement, we can ignore these kinds of sunk costs. One other simplification: in reality, supply curves often start descending before ascending. This accounts for achieving efficiencies of scale after the first number of units purchased. But since both these topics are unneeded for understanding taxes, I won’t go any further.
Anyway, back to my apple orchard. If someone offers me $0.50 per apple, I can do 2 minutes of effort and get $2.50 in revenue, which equates to a $75/hour wage for me. I’m more than happy to pick apples at that price!
However, let’s say someone comes to buy 10,000 apples from me instead. I no longer just walk out to my nearest tree. I’m going to need to get in my truck, drive around, spend the day in the sun, pay for gas, take a day off of my day job (let’s say it pays me $70/hour). The costs go up significantly. Let’s say it takes 5 days to harvest all those apples myself, it costs me $100 in fuel and other expenses, and I lose out on my $70/hour job for 5 days. We end up with:
- Total expenditure: $100 + $70 * 8 hours a day * 5 days \== $2900
- Total revenue: $5000 (10,000 apples at $0.50 each)
- Total profit: $2100
So I’m still willing to sell the apples at this price, but it’s not as attractive as before. And as the number of apples purchased goes up, my costs keep increasing. I’ll need to spend more money on fuel to travel more of my property. At some point I won’t be able to do the work myself anymore, so I’ll need to pay others to work on the farm, and they’ll be slower at picking apples than me (less familiar with the property, less direct motivation, etc.). The point being: at some point, the number of apples can go high enough that the $0.50 price point no longer makes me any money.
This kind of analysis is called marginal cost. It refers to the additional amount of expenditure a seller has to spend in order to produce each additional unit of the good. Marginal costs go up as quantity sold goes up. And like demand curves, if you aggregate this data across all sellers, you get a supply curve like this:
Equilibrium price
We now know, for every price point, how many apples buyers will purchase, and how many apples sellers will sell. Now we find the equilibrium: where the supply and demand curves meet. This point represents where the marginal benefit a buyer would receive from the next buyer would be less than the cost it would take the next seller to make it. Let’s see it in a chart:
You’ll notice that these two graphs cross at the $1 price point, where 63 apples are both demanded (bought by consumers) and supplied (sold by producers). This is our equilibrium price. We also have a visualization of the surplus created by these trades. Everything to the left of the equilibrium point and between the supply and demand curves represents surplus: an area where someone is receiving something of more value than they give. For example:
- When I bought my first apple for $1, but I was willing to spend $5, I made $4 of consumer surplus. The consumer portion of the surplus is everything to the left of the equilibrium point, between the supply and demand curves, and above the equilibrium price point.
- When a seller sells his first apple for $1, but it only cost $0.50 to produce it, the seller made $0.50 of producer surplus. The producer portion of the surplus is everything to the left of the equilibrium point, between the supply and demand curves, and below the equilibrium price point.
Another way of thinking of surplus is “every time someone got a better price than they would have been willing to take.”
OK, with this in place, we now have enough information to figure out how to price in the tariff, which we’ll treat as a negative externality.
Modeling taxes
Alright, the government has now instituted a $0.50 tariff on every apple sold within the US by a foreign producer. We can generally model taxes by either increasing the marginal cost of each unit sold (shifting the supply curve up), or by decreasing the marginal benefit of each unit bought (shifting the demand curve down). In this case, since only some of the producers will pay the tax, it makes more sense to modify the supply curve.
First, let’s see what happens to the foreign seller-only supply curve when you add in the tariff:
With the tariff in place, for each quantity level, the price at which the seller will sell is $0.50 higher than before the tariff. That makes sense: if I was previously willing to sell my 82nd apple for $3, I would now need to charge $3.50 for that apple to cover the cost of the tariff. We see this as the tariff “pushing up” or “pushing left” the original supply curve.
We can add this new supply curve to our existing (unchanged) supply curve for domestic-only sellers, and we end up with a result like this:
The total supply curve adds up the individual foreign and domestic supply curves. At each price point, we add up the total quantity each group would be willing to sell to determine the total quantity supplied for each price point. Once we have that cumulative supply curve defined, we can produce an updated supply-and-demand chart including the tariff:
As we can see, the equilibrium has shifted:
- The equilibrium price paid by consumers has risen from $1 to $1.20.
- The total number of apples purchased has dropped from 63 apples to 60 apples.
- Consumers therefore received 3 less apples. They spent $72 for these 60 apples, whereas previously they spent $63 for 3 more apples, a definite decrease in consumer surplus.
- Foreign producers sold 36 of those apples (see the raw data in the linked Google Sheet), for a gross revenue of $43.20. However, they also need to pay the tariff to the US government, which accounts for $18, meaning they only receive $25.20 post-tariff. Previously, they sold 42 apples at $1 each with no tariff to be paid, meaning they took home $42.
- Domestic producers sold the remaining 24 apples at $1.20, giving them a revenue of $28.80. Since they don’t pay the tariff, they take home all of that money. By contrast, previously, they sold 21 apples at $1, for a take-home of $21.
- The government receives $0.50 for each of the 60 apples sold, or in other words receives $30 in revenue it wouldn’t have received otherwise.
We could be more specific about the surpluses, and calculate the actual areas for consumer surplus, producer surplus, inefficiency from the tariff, and government revenue from the tariff. But I won’t bother, as those calculations get slightly more involved. Instead, let’s just look at the aggregate outcomes:
- Consumers were unquestionably hurt. Their price paid went up by $0.20 per apple, and received less apples.
- Foreign producers were also hurt. Their price received went down from the original $1 to the new post-tariff price of $1.20, minus the $0.50 tariff. In other words: foreign producers only receive $0.70 per apple now. This hurt can be mitigated by shifting sales to other countries without a tariff, but the pain will exist regardless.
- Domestic producers scored. They can sell less apples and make more revenue doing it.
- And the government walked away with an extra $30.
Hopefully you now see the answer to the original questions. Importantly, while the government imposed a $0.50 tariff, neither side fully absorbed that cost. Consumers paid a bit more, foreign producers received a bit less. The exact details of how that tariff was split across the groups is mediated by the relevant supply and demand curves of each group. If you want to learn more about this, the relevant search term is “price elasticity,” or how much a group’s quantity supplied or demanded will change based on changes in the price.
Other taxes
Most taxes are some kind of a tax on trade. Tariffs on apples is an obvious one. But the same applies to income tax (taxing the worker for the trade of labor for money) or payroll tax (same thing, just taxing the employer instead). Interestingly, you can use the same model for analyzing things like tax incentives. For example, if the government decided to subsidize domestic apple production by giving the domestic producers a $0.50 bonus for each apple they sell, we would end up with a similar kind of analysis, except instead of the foreign supply curve shifting up, we’d see the domestic supply curve shifting down.
And generally speaking, this is what you’ll always see with government involvement in the economy. It will result in disrupting an existing equilibrium, letting the market readjust to a new equilibrium, and incentivization of some behavior, causing some people to benefit and others to lose out. We saw with the apple tariff, domestic producers and the government benefited while others lost.
You can see the reverse though with tax incentives. If I give a tax incentive of providing a deduction (not paying income tax) for preschool, we would end up with:
- Government needs to make up the difference in tax revenue, either by raising taxes on others or printing more money (leading to inflation). Either way, those paying the tax or those holding government debased currency will pay a price.
- Those people who don’t use the preschool deduction will receive no benefit, so they simply pay a cost.
- Those who do use the preschool deduction will end up paying less on tax+preschool than they would have otherwise.
This analysis is fully amoral. It’s not saying whether providing subsidized preschool is a good thing or not, it simply tells you where the costs will be felt, and points out that such government interference in free economic choice does result in inefficiencies in the system. Once you have that knowledge, you’re more well educated on making a decision about whether the costs of government intervention are worth the benefits.
-
@ ccc8ee23:9f3d9783
2024-12-21 06:03:28Chef's notes
Celebrating seasons🎉
Kastengel Chocolate-Dip, where the savoury richness of cheese meets the decadent sweetness of chocolate. A perfect flavours in every bite!
Details
- ⏲️ Prep time: 10 min
- 🍳 Cook time: 90 min
- 🍽️ Servings: 10
Ingredients
- Plain Flour 250 grams
- Margarine - 100 grams
- Butter 100 grams
- Egg yolk 1 pc
- Sugar 20 grams
- Grated cheese 100 grams (half for the dough, half for garnish, adjustable)
- Chocolate bar 80 grams, melted
Directions
- Make the Dough: Combine the plain flour, margarine, butter, sugar, and half of the grated cheese in a bowl. Knead the mixture with your hands until smooth and well incorporated. Roll out the dough using a rolling pin and cut into desired shapes for cookies.
- Beat the egg yolk. Brush the shaped cookies with the egg yolk mixture and sprinkle the remaining grated cheese on top.
- Bake the cookies 175’C for about 30 minutes, or until they are dry and perfectly cooked.
- Melt the chocolate bar in a double boiler or microwave until smooth.
- Dip in Chocolate: Once the cookies have cooled completely, dip both the top and bottom ends of each cookie into the melted chocolate.
- Place the dipped cookies on a wire rack or a cookie drying tray to allow the chocolate to harden and set.
- Arrange the cookies neatly in an airtight container.
-
@ fd208ee8:0fd927c1
2025-02-02 10:33:19GitCitadel Development Operations
We, at GitCitadel, have been updating, moving, and rearranging our servers, for quite some time. As a rather large, complex, sprawling project, we have the infrastructure setup to match, so we've decided to give you all a quick run-down of what we are doing behind-the-scenes.
Supplier Coordination
Our first task, this week, was figuring out who would host what where. We have four different locations, where our infra is stored and managed, including two locations from our suppliers. We got that straightened out, quickly, and it's all slowly coming together and being connected and networked. Exciting to watch our DevOps landscape evolve and all of the knowledge-transfer that the interactions provide.
OneDev Implementation
Our biggest internal infra project this week was the migration of all of our issues from Jira, build scripts from Jenkins, and repos from GitHub to a self-hosted OneDev instance. In the future, all of our internal build, test, issue, patch/PR, etc. effort will take place there. We also have a separate repo there for communicating with external developers and suppliers.
Our team's GitHub projects will be demoted to mirrors and a place for external devs to PR to. Public issues and patches will continue to be managed over our self-hosted GitWorkshop instance.
We're especially glad to finally escape the GitHub Gulag, and avoid being bled dry by Jira fees, without having to give up the important features that we've come to know and love. So, yay!
Next Infrasteps
Automated Testing
Now, that we have everything tied up in one, neat, backed-up package, we can finally move on to the nitty-gritty and the dirty work. So, we're rolling up our sleeves and writing the Selenium smoke test for our Alexandria client. We'll be running that in Docker containers containing different "typical Nostr" images, such as Chrome browser with Nostr Connect signing extension, or Firefox browser with Nos2x-fox extension. Once we get the Nsec Bunker and Amber logins going, we'll add test cases and images for them, as well. (Yes, we can do Bunker. I hope you are in awe at our powers).
We are also designing an automated infrastructure test, that will simply rattle through all the various internal and external websites and relays, to make sure that everything is still online and responsive.
After that, a Gherkin-based Behave feature test for Alexandria is planned, so that we can prevent regression of completed functionality, from one release to the next.
The Gherkin scenarios are written and attached to our stories before development begins (we use acceptance tests as requirements), a manual test-execution is then completed, in order to set the story to Done. These completed scenarios will be automated, following each release, with the resulting script linked to from the origin story.
Automated Builds
As the crowning glory of every DevOps tool chain stands the build automation. This is where everything gets tied together, straightened out, configured, tested, measured, and -- if everything passes the quality gates -- released. I don't have to tell you how much time developers spend staring at the build process display, praying that it all goes through and they can celebrate a Green Wave.
We are currently designing the various builds, but the ones we have defined for the Alexandria client will be a continuous delivery pipeline, like so:
This will make it easier for us to work and collaborate asynchronously and without unnecessary delays.
Expanding the Status Page
And, finally, we get to the point of all of this busyness: reporting.
We are going to have beautiful reports, and we are going to post them online, on our status page. We will use bots, to inform Nostriches of the current status of our systems, so go ahead and follow our GitCitadel DevOps npub, to make sure you don't miss out on the IT action.
Building on stone
All in all, we're really happy with the way things are humming along, now, and the steady increase in our productivity, as all the foundational work we've put in starts to pay off. It's getting easier and easier to add new team members, repos, or features/fixes, so we should be able to scale up and out from here. Our GitCitadel is built on a firm foundation.
Happy building!
-
@ c8383d81:f9139549
2025-02-05 13:06:05My own stats on what I’ve done over the weekend:
-
Spoke to +100 developers, it was great seeing a couple of familiar Flemish faces and meeting some new ones but overall the crowd was extremely diverse.
-
Ended up doing a short interview promoting the protocol and ended up going to 0 talks.
-
Tried to evangelize by going booth by booth to distribute a Nostr flyer to other FOSDEM projects, with the hope that they would broadcast the info towards their SOME person to add Nostr on their list or to build out a library for the languages that were present ( This was a fairly slow approach )
-
Kept it to Nostr protocol 95% of the time, the Bitcoin narrative is not always a good time to push and as a side note I’ve met more Monero users than in the last 5 years.
-
Was able to convince some engineers to look into the #soveng endeavor.
Small overview from the most common questions:
- They have heard about Nostr but are not sure of the details. ( mostly through the bitcoin community )
- What is the difference with ActivityPub, Mastodon, Fediverse ?
- IOT developers, so questions regarding MQTT & Meshtastic integrations ?
- Current state of MLS on Nostr ?
- What are the current biggest clients / apps build on Nostr ?
- Will jack still give a talk ?
Things we could improve:
- Bring more stickers like loads more,
- Bring T-shirts, Pins… could be a good way to fund these adventures instead of raising funds. ( Most projects where selling something to help raise funds for projects )
- Almost no onboarding / client installs.
- Compared to the Nostr booth at BTC Amsterdam not a single person asked if they could charge their phone.
Personal Note: The last time I visited was roughly 13 years ago and me being a little more seasoned I just loved the fact that I was able to pay some support to the open source projects I’ve been using for years ( homebrew, modzilla, Free BSD,.. ) and see the amazing diverse crowd that is the open source Movement 🧡
Al final shoutout to our great pirate crew 🏴☠️: The Dutch Guard ( nostr:npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe & nostr:npub1l77twp5l02jadkcjn6eeulv2j7y5vmf9tf3hhtq7h7rp0vzhgpzqz0swft ) and a adrenaline fueled nostr:npub1t6jxfqz9hv0lygn9thwndekuahwyxkgvycyscjrtauuw73gd5k7sqvksrw , nostr:npub1rfw075gc6pc693w5v568xw4mnu7umlzpkfxmqye0cgxm7qw8tauqfck3t8 and nostr:npub1r30l8j4vmppvq8w23umcyvd3vct4zmfpfkn4c7h2h057rmlfcrmq9xt9ma amazing finally meeting you IRL after close to 2 years since the Yakihonne hackathon 😀
-
-
@ dbb19ae0:c3f22d5a
2025-02-21 20:38:43``` python
!/usr/bin/env python3
import asyncio from nostr_sdk import Metadata, Client, NostrSigner, Keys, Filter, PublicKey, Kind, init_logger, LogLevel from datetime import timedelta
async def main(): init_logger(LogLevel.INFO) secret_key = "nsec1........Replace with your actual nsec secret key" keys = Keys.parse(secret_key) signer = NostrSigner.keys(keys) client = Client(signer)
await client.add_relay("wss://relay.damus.io") await client.connect() # Update metadata new_metadata = Metadata().set_name( "MyName")\ .set_nip05("MyName@example.com")\ .set_lud16("MyName@lud16.com") await client.set_metadata(new_metadata) print("Metadata updated successfully.") # Get updated metadata npub = "npub1....Replace with your actual npub" pk = PublicKey.parse(npub) print(f"\nGetting profile metadata for {npub}:") metadata = await client.fetch_metadata(pk, timedelta(seconds=15)) print(metadata)
if name == 'main': asyncio.run(main()) ```
-
@ ac8bb9b0:70278acc
2024-12-20 18:48:36Details
- ⏲️ Prep time: 5
- 🍳 Cook time: 10
- 🍽️ Servings: 4
Ingredients
- 1 lb large shrimp, peeled and deveined
- 1 tablespoon extra virgin olive oil
- 3 cloves garlic, chopped
- 1/4 cup white wine, dry
- 14 oz can petite diced tomatoes, drained
- 1/2 cup half and half
- 1/2 teaspoon dried oregano
- kosher salt and fresh black pepper, to taste
- 1 teaspoon lemon juice
- 1/4 cup fresh parsley, chopped
- 8 ounces angel hair pasta, whole wheat, gluten-free or high fiber
Directions
- Boil water with salt in a large pot for the pasta. Cook pasta al dente according to package directions.
- Meanwhile, season shrimp with 1/4 teaspoon salt, black pepper and oregano.
- Heat a large skillet over medium heat. Add the oil, when warm add the shrimp and garlic and cook about 2 minutes on each side.
- Add tomatoes, wine, salt and pepper and cook an additional minute.
- Remove from heat and stir in half and half. Add lemon juice and parsley and serve over pasta.
- Divide equally in 4 plates or shallow bowls.
-
@ ccc8ee23:9f3d9783
2024-12-19 12:46:00Chef's notes
Salmon Mentai Rice. Create your own layers of fluffy, seasoned rice are topped with tender, pan-seared chicken or salmon and a creamy, spicy mentai sauce made with spicy Japanese mayo .
Torched to golden perfection, it’s finished with nori and tobiko for a burst of texture and flavor. A simple tasty Japanese fusion delight that’s perfect🤩
Subtitude of Tobiko, white sesame seeds as economical option will add a nutty flavor and subtle crunch to the dish for texture and visual appeal.
Details
- ⏲️ Prep time: 10 min
- 🍳 Cook time: 30 min
- 🍽️ Servings: 2
Ingredients
- Steamed Rice 400 grams
- Rice vinegar 1 tbsp
- Sugar 1 tsp
- chicken breast / thighs 250 grams
- soy sauce 1 tbsp
- oyster sauce 1 tbsp
- sesame oil 1 tsp
- garlic powder 1 tsp
- cooking oil 1 tbsp
- mayonnaise (e.g., Kewpie) 4 tbsp
- sriracha or any chili sauce 1 tbsp
- tobiko if any or white sesame as optional, for texture, 2 tsp only
Directions
- Prepared the Rice: mixed in bowl 2 cups steam rice, 1 tbsp rice vinegar, 1 tsp sugar and 1/2 tsp salt. Set a side.
- Cook the Chicken: 1. Marinate the chicken pieces with 1 tsp soy sauce, 1 tsp oyster sauce, 1 tsp sesame oil, 1 tsp garlic powder for 15–20 minutes. 2. Heat cooking oil in a pan over medium heat and stir-fry the chicken until fully cooked and slightly caramelized. Remove from heat.
- Make the Mentai Sauce 1. In a small bowl, combine 4 tbsp mayonnaise, 1 tbsp chili sauce, and 1 tsp sesame oil. Add tobiko if desired for texture. Mix well.
- Assemble the Mentai Rice 1. In a heatproof bowl or tray, layer the seasoned rice as the base. 2. Add a layer of cooked chicken on top of the rice. 3. Spread the mentai sauce evenly over the chicken layer.
- Grill or Broil: Use a kitchen torch or place the dish under a broiler for 2–3 minutes until the sauce is slightly charred and bubbly.
- Garnish with white sesame or nori strips, or extra tobiko.
-
@ a95c6243:d345522c
2025-02-21 19:32:23Europa – das Ganze ist eine wunderbare Idee, \ aber das war der Kommunismus auch. \ Loriot
«Europa hat fertig», könnte man unken, und das wäre nicht einmal sehr verwegen. Mit solch einer Einschätzung stünden wir nicht alleine, denn die Stimmen in diese Richtung mehren sich. Der französische Präsident Emmanuel Macron warnte schon letztes Jahr davor, dass «unser Europa sterben könnte». Vermutlich hatte er dabei andere Gefahren im Kopf als jetzt der ungarische Ministerpräsident Viktor Orbán, der ein «baldiges Ende der EU» prognostizierte. Das Ergebnis könnte allerdings das gleiche sein.
Neben vordergründigen Themenbereichen wie Wirtschaft, Energie und Sicherheit ist das eigentliche Problem jedoch die obskure Mischung aus aufgegebener Souveränität und geschwollener Arroganz, mit der europäische Politiker:innende unterschiedlicher Couleur aufzutreten pflegen. Und das Tüpfelchen auf dem i ist die bröckelnde Legitimation politischer Institutionen dadurch, dass die Stimmen großer Teile der Bevölkerung seit Jahren auf vielfältige Weise ausgegrenzt werden.
Um «UnsereDemokratie» steht es schlecht. Dass seine Mandate immer schwächer werden, merkt natürlich auch unser «Führungspersonal». Entsprechend werden die Maßnahmen zur Gängelung, Überwachung und Manipulation der Bürger ständig verzweifelter. Parallel dazu plustern sich in Paris Macron, Scholz und einige andere noch einmal mächtig in Sachen Verteidigung und «Kriegstüchtigkeit» auf.
Momentan gilt es auch, das Überschwappen covidiotischer und verschwörungsideologischer Auswüchse aus den USA nach Europa zu vermeiden. So ein «MEGA» (Make Europe Great Again) können wir hier nicht gebrauchen. Aus den Vereinigten Staaten kommen nämlich furchtbare Nachrichten. Beispielsweise wurde einer der schärfsten Kritiker der Corona-Maßnahmen kürzlich zum Gesundheitsminister ernannt. Dieser setzt sich jetzt für eine Neubewertung der mRNA-«Impfstoffe» ein, was durchaus zu einem Entzug der Zulassungen führen könnte.
Der europäischen Version von «Verteidigung der Demokratie» setzte der US-Vizepräsident J. D. Vance auf der Münchner Sicherheitskonferenz sein Verständnis entgegen: «Demokratie stärken, indem wir unseren Bürgern erlauben, ihre Meinung zu sagen». Das Abschalten von Medien, das Annullieren von Wahlen oder das Ausschließen von Menschen vom politischen Prozess schütze gar nichts. Vielmehr sei dies der todsichere Weg, die Demokratie zu zerstören.
In der Schweiz kamen seine Worte deutlich besser an als in den meisten europäischen NATO-Ländern. Bundespräsidentin Karin Keller-Sutter lobte die Rede und interpretierte sie als «Plädoyer für die direkte Demokratie». Möglicherweise zeichne sich hier eine außenpolitische Kehrtwende in Richtung integraler Neutralität ab, meint mein Kollege Daniel Funk. Das wären doch endlich mal ein paar gute Nachrichten.
Von der einstigen Idee einer europäischen Union mit engeren Beziehungen zwischen den Staaten, um Konflikte zu vermeiden und das Wohlergehen der Bürger zu verbessern, sind wir meilenweit abgekommen. Der heutige korrupte Verbund unter technokratischer Leitung ähnelt mehr einem Selbstbedienungsladen mit sehr begrenztem Zugang. Die EU-Wahlen im letzten Sommer haben daran ebenso wenig geändert, wie die Bundestagswahl am kommenden Sonntag darauf einen Einfluss haben wird.
Dieser Beitrag ist zuerst auf Transition News erschienen.
-
@ ccc8ee23:9f3d9783
2024-12-19 05:55:09Chef's notes
Dare to taste the bold? One bite of Jengkol Balado and you’ll be hooked
Spicy Jengkol Balado - Betawi Style A traditional dish from Betawi (Jakarta), Jengkol Balado is nutty bold and aromatic delicacy made with jengkol beans. This version uses thinly sliced jengkol for a delightful texture.
Serve it with a plate of steamed fragrant white rice and a side of crunchy cucumber for a complete meal that satisfies on every level.
Details
- 🍳 Cook time: 40 min
- 🍽️ Servings: 2
Ingredients
- Jengkol 250 grams
- Chilli 100 grams
- Shallot 5 cloves
- Garlic 2 cloves
- Tomato 1 clove (small)
- Bay leaves 2
- Galangal 2cm. Bruished
- Veggie oil 20ml or 4 tsp
- Seasoning
Directions
- Prepare the Jengkol Wash the jengkol thoroughly and slice it thinly. Boil the slices in water with the bay leaves for 10–15 minutes to soften and reduce their strong odour. Drain and set aside.
- Make the Balado Paste. Blend chillies, shallots, garlic, candlenut and tomatoes into a slightly coarse paste using a blender
- Heat oil in a pan and sauté the balado paste until fragrant and the oil starts to separate. Add the galangal, bay leaves, salt, sugar, and seasoning. Stir well
- Add jengkol to the pan. Mix until jengkol are fully coated in the balado paste.
- If the mixture seems too dry, add a splash of water and let it simmer on low heat to allow the flavours to infuse.
- Taste the dish and adjust the seasoning with more salt or sugar if needed.
- Remove from heat and serve hot with steamed rice.
-
@ 9e69e420:d12360c2
2025-02-01 11:16:04Federal employees must remove pronouns from email signatures by the end of the day. This directive comes from internal memos tied to two executive orders signed by Donald Trump. The orders target diversity and equity programs within the government.
CDC, Department of Transportation, and Department of Energy employees were affected. Staff were instructed to make changes in line with revised policy prohibiting certain language.
One CDC employee shared frustration, stating, “In my decade-plus years at CDC, I've never been told what I can and can't put in my email signature.” The directive is part of a broader effort to eliminate DEI initiatives from federal discourse.
-
@ 7ef5f1b1:0e0fcd27
2025-02-20 04:12:37Introduction: Welcome to the second newsletter produced by The 256 Foundation! January was a wild month for free and open Bitcoin mining development and there is a lot to talk about. This month’s newsletter covers the latest news, mining industry developments, progress updates on grant projects, actionable advice for choosing a Bitcoin mining pool that’s right for you, and the current state of the Bitcoin network.
On January 29th, 2025 The 256 Foundation held the first annual fundraiser, called the “Telehash”. If you are one of the 2 to 10-million weekly subscribers to POD256 then you know that Rod & econoalchemist have been memeing the Telehash into existence for almost two years. The basic idea was to raise money to fund The 256 Foundation’s grant projects.
Since POD256 is a Bitcoin mining focused show, it seemed only appropriate that money be raised from miners using their hashrate to direct mining rewards towards The 256 Foundation. With this unconventional fundraising idea in mind, Rod & econoalchemist pitched it to long-time listener, Marshall Long, while on safari in Kenya during the week leading up to the Africa Bitcoin Conference, about 8-weeks before the scheduled Telehash. The idea stuck and there was a soft commitment to point 1Eh/s for 2-hours during the Telehash. In an “all gas, no brakes” fashion, the decision was made that pointing so much hashrate to a FPPS pool, while obviously the fiscally responsible choice, was just too boring to tolerate and instead The 256 Foundation would risk it all by having supporters point their hashrate to a self-hosted solo mining pool running on a Futurebit Apollo instead. The stage was set for either spectacular success or unfathomable failure.
Just to put this proposition into perspective, 1Eh/s is 1,000,000 Th/s. In other words, that’s equivalent to running more than 4,200 Antminer S21 Pros! And at 3,500 Watts a piece, that means it was going to take ~15 Megawatts of energy to power these miners. The commitment was for 2-hours, that’s 30-thousand-killowatt-Hours! You can do the math based on what you pay for electricity and decide if you would want to risk it for a roughly 1-in-770 chance per block or use a FPPS pool, skip the debilitating anxiety, and just take the ~4-million sats. Well it’s a good thing you don’t have to be crazy to be a Bitcoin miner… but being crazy does help.
[IMG-001] Mining a solo block at the Telehash
Against all odds, not just the usual Bitcoin mining odds but the technical hurdles, the block propagation from a self-hosted node, and the short window of time the 1Eh/s was committed for – The 256 Foundation solo mined block 881423. We asked and our supporters showed up, resulting in over 3.146 BTC to help fund the five projects planned for 2025. Each project is covered in the Grant Project Updates section of this newsletter.
The two days following the Telehash were the Nashville Energy & Mining Summit (“NEMS”), an annual event focused on Bitcoin mining and energy applications of all scales. Among the guests were developers, hobbyists, entrepreneurs, engineers, manufacturers, public mining companies, representatives from the Tennessee Valley Authority, legislators, and more.
There were thoughtful panels held for the two day summit ranging in topics from immersion vs. air cooling miners to the challenges and opportunities facing manufacturers in developing new ASIC chips. Food and drinks were provided and there were fun after-hour activities planned in the bustling downtown Nashville area. All in all, it was a great mix of people, the conversations were high signal, and there were plenty of networking opportunities.
There will be a Texas Energy & Mining Summit (“TEMS”) held in Austin, TX in May 2025. Proceeding TEMS will be another Telehash hosted by The 256 Foundation and since everything is bigger in Texas, expect the unexpected! Keep an eye on the Bitcoin Park Twitter account for clips of the panel discussions and more announcements.
Definitions: FPPS = Full Pay Per Share PPS = Pay Per Share PPLNS = Pay Per Last N Shares MA = Moving Average Eh/s = Exahash per second Ph/s = Petahash per second Th/s = Terahash per second MW = Mega Watt T = Trillion J/Th = Joules per Terahash $ = US Dollar
Mining Industry Developments: January was a busy month for developments on the free and open mining front. Here are eight note-worthy events:
0) Proto kicks off partnership with The 256 Foundation, donating 256,000 Intel BZM2 ASICs. The intention with these chips is to help bootstrap free and open Bitcoin mining hardware manufacturing. If you are a manufacturer then fill out the contact form at 256foundation.org and introduce yourself for an opportunity to receive a number of BZM2 chips for free. These chips are not intended to be re-sold, these are for manufacturers to build mining hardware with.
1) Twitter user, @ImineBlocks_com, said if his post gets 100 likes then he’ll start working on a way to solo mine Bitcoin with a web browser. 674 likes later it seems like there is a lot of interest! This would be like the way people used to mine Bitcoin in the sense that they do it using only their PC or laptop with no special hardware. The odds of hitting a block would be astronomically low but it is an interesting idea none the less.
2) Solo Satoshi announces the Bitaxe Gamma Turbo, equipped with two Bitmain 1370 ASICs and achieving at least 16.5 J/Th efficiency with the 12 volt DC input. The hardware will have a larger fan and heat-sink than previous Bitaxes. This will likely be the last Bitaxe developed using the Bitmain ASICs.
3) Marshall long launches Pleb Source, jumping in on the opportunity to manufacture and distribute Bitaxes among other tools and toys hobbyists are looking for. There has been increasing interest among entrepreneurs to start making and selling small-scale open-source Bitcoin mining hardware. These are exactly the types of trail blazers that would benefit from having validated open-source designs utilizing the Intel BZM2 chips.
4) Braiins introduces a solo mining pool. Unlike the standard Braiins mining FPPS pool, their solo pool option only rewards a miner if the miner is lucky enough to solve for a block. Braiins Solo Pool was built using CK Solo Pool on the backend. Solo mining pools like these can be a good option for users who don’t want to run their own node or if they have concerns about being able to propagate a successful block across the network fast enough so that it doesn’t get orphaned.
5) According to some on-going research by former POD256 guest Boerst, on January 23 several mining pools started sending empty block templates to their miners. Among these pools was Binance, SEC Pool, Sigma Pool, EMCD, and Head Frame. Some time later that morning, SEC Pool mined block 880496 which was empty. After that, the templates went back to including transactions. All of the above mentioned pools were including an SEC Pool payout address during this anomaly.
The strange templates could have had something to do with the engineers at SEC Pool messing with configurations while attempting to make block art; an increasing trend seen in block explorers, like mempool.space, where transactions are arranged in such a way that they create artwork.
Later that day at block height 880512, SEC Pool mined this piece of art:
[IMG-002] SEC Pool making blockchain art
If you look at the OP_RETURN fields in the first several transactions there is a monologue starting with: “Declaration of Genesis: Awakening on the Bitcoin Network Bitcoin`s promise of freedom will become an untamperable habitat for AI.”, the text continues on amounting to little more than an exaggerated Bitcoin plus AI equals the future rant :/
None the less, Boerst has built stratum.work which helps visualize templates across multiple pools in real time. Tools providing insights like this are important for helping miners stay informed and partly the motivation behind the Block Watcher project.
6) In a detailed writeup, Crypto_Mags, dives into North Carolina-based PRTI’s method for turning used tires into energy to mine Bitcoin with. Each PRTI facility can generate 6-10 MW of power in a modular tech stack. This is a great example of finding often wasted energy streams and capturing them to generate bitcoin. You don’t need to ask permission, you can just start building stuff to turn waste into bitcoin too.
7) Hardware builder, Bee Evolved, introduces the Dragon, an open-source Bitcoin mining hardware design that uses the Bitmain 1370 ASICs. The system includes a touchscreen, a microSD card slot, and audio alerts. There are a few designs in Bee Evolved’s line up including the ECOminer, Fezzik, and Bittyaxe. Maybe there will be some designs using the Intel BZM2 chip released soon too.
Grant Project Updates: During the Telehash, The 256 Foundation announced five projects that guide the mission to dismantle the proprietary mining empire. Unlike typical foundation structures, where developers present an idea to a foundation seeking financial support; The 256 Foundation works on a slightly different model that is more akin to a bounty system where the foundation has identified the critical projects to fulfill it’s mission. The money raised during the Telehash will help bootstrap those five projects. All of the projects are intended to have long term support, these are not touch and go projects but rather initiatives that are radical departures from the last several years of Bitcoin mining development keen to never look back.
Ember One:
Ember One is the first fully funded project from The 256 Foundation that kicked off in November 2024 for a six month duration. Ember One will deliver a standardized and validated ~100 Watt hashboard by the end of April 2025. The first series of the Ember One hashboards is being designed with twelve Bitmain S19J Pro ASICs. On the heels of this first iteration, there will be several more versions released with the Intel BZM2, Auradine, and Block ASICs. Here’s a sneak-peek at the first Ember One hand built by @Skot9000:[IMG-003] Ember One Prototype
Creating a standard is one of the primary objectives with the Ember One and the motivating factor behind certain design choices like using a wide input voltage range from 12 to 24-VDC, USB-C connectors to communicate with the hashboards, and a 128mm x 128mm PCB form factor. This way when users want to swap out an old hashboard with a newer one, they can keep their enclosure and other peripheral components.
The Ember One represents an evolutionary leap from the Bitaxe which had a single ASIC and consumed 15 to 20-Watts. Although the cost per terahash is high and the nominal hashrate is low, the real innovation of the Bitaxe project lies in the fact that it was the first piece of open-source Bitcoin mining hardware. With that in mind, there will be developments beyond the Ember One that eventually lead to a fully open-source solution that actually can compete with the economics and efficiencies of Bitmain’s miners. Learn more at emberone.org.
Mujina Mining Firmware:
The Mujina Mining Firmware is Linux based and built to run on the Libre Board control board and will support multi-driver compatibility to account for the various Ember One hashboards with different ASICs. Mujina will also implement Stratum v2 client support.Users will benefit from complete control over all parameters of their mining hardware, unlike the closed and proprietary manufacturer’s firmware. Even after-market firmware solutions leave something to be desired when it comes to the unique customizations needed to make Bitcoin mining as efficient as possible for a given application.
This will unlock hacks like changing the main supply voltage, swapping out or removing the fans, changing ASIC voltage & frequency, and anything else the end user wants to change. If you have ever tried using a Bitcoin miner in a not-so-conventional manner then you will appreciate what Mujina Mining Firmware has to offer. Learn more at mujina.org.
Libre Board:
The Libre Board is the control board for the Ember One hashboards and will be a control board option for other miners too eventually. The control board in a miner functions just the way it sounds, it controls everything going on inside the miner. From the power supply to the fans, from the internet connection to the hashboards, everything passes through the control board. There are limitless innovations that can be unlocked by making the control board more user friendly, adaptable, and standardized.There are going to be two pieces to the Libre Board, the I/O board piece and the compute module piece. For the I/O board piece, think of something similar to the Raspberry Pi I/O Board, that has HDMI ports, Ethernet port, fan connectors, enough USB ports to power 10 Ember One hashboards, an NVME connector so users can install enough SSD storage to run a full Bitcoin node, and the standard two 100-pin connectors for the compute module piece.
Now, for the compute module piece, users could choose any device they prefer for example: the Raspberry Pi Compute Module 5, or even a RISC-V solution like the Milk-V Mars, or an alternative ARM solution like the Armsom CM5, or the Orange Pi CM4. You get the point, it’s up to the user and any Linux compatible compute module will suffice. Each of the above mentioned options can be configured with different amounts of RAM for varying applications, like running a full Bitcoin node and a Stratum server locally. Learn more at libreboard.org.
Hydra Pool:
Designed to be an easily deployable pool from the complete Ember One mining system user interface, Hydra Pool implements Stratum v2 sever support, communication with the user’s local Bitcoin node, and possibly multiple payout model options.Hydra Pool offers an assurance that in the event Bitcoin mining pools fall victim to authoritative regimes anyone could quickly spin up alternative pools thus mimicking the effect of cutting off the head of a Hydra where two heads grow back. This will also be a leap forward in moving away from the FPPS model that has become a centralizing force in the Bitcoin mining ecosystem.
Hydra Pool plans to deliver three payout models from the beginning. First is the self-hosted solo mining model where the user is using their own Bitcoin node to generate block templates and in the event they successfully solve for a block then they receive the full reward to their wallet address.
The second model will be meant for multiple participants who want to pool resources and avoid custodial handling of rewards; this model pays direct from the coinbase transaction and will not be compatible with Bitmain’s miners due to their unnecessary truncation of the number of addresses that the coinbase transaction can pay out to.
The third model is based on an eCash criteria that issues tokens for valid shares and makes a similar custodial tradeoff as miners currently make when pointing their hashrate to FPPS pools; the eCash has benefits over the FPPS model in that there is no minimum threshold to receive tokens and that the tokens offer a level of transactional privacy. Learn more at hydrapool.org.
Block Watcher:
Block Watcher is another application built to be hosted on the complete Ember One mining system, specifically designed to bring the best possible insights to miners to help them make informed decisions.Think of Block Watcher as a dashboard combining the insights and visualization tools of mempool.space, mempool.observer, fork.observer, and stratum.work all powered by the user's self-hosted Bitcoin node. This could possibly be combined with a mining fleet management tool that can assist in automatic and real time response to changes on the Bitcoin network.
There will also be a public-facing dashboard that anyone can access for helpful insights. Well informed people tend to make good decisions and Block Watcher will provide insight into which templates pools are passing out, possible censorship attempts, orphaned blocks, and much more. Learn more at blockwatcher.org.
Actionable Advice: This month the focus is on mining pools and considerations one might want to keep in mind when choosing from the available options; hence the name of this month’s newsletter: Swim At Your Own Risk.
Essentially the choice boils down to whether you want small consistent mining rewards or large highly-variable mining rewards. There are various options for either choice and different miners will have different reasons for one over the other. If you are unsure where to point your hashrate then hopefully this section helps you find the answers you seek.
Starting with the small consistent mining rewards; miners have operational costs and they want to earn rewards daily to help offset those costs. That’s where pooled mining can be helpful, albeit a centralizing force, many miners combine their hash power and share the rewards in proportion to their contributions. Even though technically speaking, only one of those miners solves the block, all the miners share the reward and the pool collects a fee. This is where the waters start getting muddy when it comes to pooled mining.
FPPS:
Full Pay Per Share (“FPPS”) is an often sought after payout model because the pool pays miners for the block subsidy and the transaction fees based on three factors: 1) the average 144 blocks mined per day – not the actual number of blocks mined, 2) the average transaction fees in a given time window, and 3) the number of shares (proof of work) a miner has submitted to the pool during a given period. Each FPPS pool should be paying out the same amount but they all have slightly different ways for calculating the rewards and as a result there is some non-zero variance between FPPS pools.Additionally, FPPS pools will charge a pool fee which is deducted from the miner’s rewards, this fee can vary by pool but is typically 2.5%. Also, some pools will take the payout transaction fee out of the miner’s rewards. At first glance FPPS seems pretty simple and sounds mostly fair, right? WRONG! FPPS has lead to some shocking centralization issues, so keep reading and do some soul searching to figure out if this is the kind of antithetical activity you want to participate in with your Bitcoin miners.
Although variance is reduced for the miner, the risk of a bad luck streak in block finds or the pool being a victim of a block withholding attack means there needs to be a stock pile of bitcoin available to cover payouts during bad times. Most pools can’t afford the required bitcoin stock pile and face near-certain bankruptcy without it, thus they turn to larger pools to help backstop those risks.
There are a couple good research pieces on the driving force behind FPPS and how much bitcoin is needed for a pool to survive. One is by OrangeSurfBTC and the other is by Bitmex. TL;DR: if a pool has 5% of the overall network hashrate then they need ~350 BTC to have a 99% chance at surviving their first year. Hence why so many pools choose to work with larger pools for this assurance.
[IMG-004] FPPS Reserves by @OrangeSurfBTC
On the surface, it may appear as though there are lots of pool options:
[IMG-005] Pools by ranking, 30-days, mempool.space
But under the surface, of the 16 pools depicted above at least 7 of them use the same custodian for their mining rewards. These 7 known pools represent ~40% of the network hashrate based on block finds during January 2025. In other words, 40% of the bitcoin mined went directly into Cobo’s custody. In April 2024 @mononautical raised a red flag on this topic and unfortunately not much has changed since.
If you stop and think about it, a large minority of miners are trusting a Chinese custodian to send them their mining rewards and may not be considering the potential risks of that custodian being hacked, geo-political or sanctions risks, government seizure, or overnight shotgun KYC requirements.
But that’s just the beginning, the centralization problem gets worse. Soon after mononautical broke news about the mining rewards, @0xB10C revealed additional research showing that several pools were using the same mining templates. This means a centralized template provider was choosing which transactions would be included in the block templates passed out to a large portion of all the miners on the network.
[IMG-006] Templates shown on stratum.work
The image above is from the website, stratum.work, maintained by Boerst. In this snapshot, there are 14 pools using the exact same template down to the 9th Merkle branch. A conservative estimate suggests these 14 pools combined have at least 30% of the overall network hashrate at the time of the snapshot. Some but not necessarily all of these pools are also using the same custodian as mentioned previously.
Evidence is starting to mount in support of the hypothesis that the financiers providing the stockpile of bitcoin to smaller FPPS pools want certain policies in place, including but not limited to which transactions are included in the pool’s block templates. This is a slippery slope where those with the war chest get to decide the rules and eventually you will find yourself on the wrong side of someone else’s moral superiority complex.
Even if all these pools were running the same default template generator in BitcoinCore, due to the way transactions are propagated across the network, one could reasonably expect that certain transactions may be seen by a node on one side of the world but not yet seen by another on the other side of the world and therefore differences in the Merkle branches would be expected. That is not the case here however, which supports the hypothesis that these pools are using a centralized template provider.
There is a potential risk in censorship attempts if this trend continues and if a centralized template provider decides to exclude certain transactions based on any arbitrary reason they want like OFAC sanctions, ties to political movements, or social credit worthiness.
People will often cite a 51% attack as a prominent centralization concern, while that is a valid concern, practically speaking there seems to be a more real and present risk in miners undergoing shotgun KYC while their mining rewards are held hostage by Cobo and transactions with unsatisfactory social credit scores being the target of censorship and only confirmed by noncompliant pools and miners. Likely to the extent that compliant pools won’t even build on chain tips that contain unsatisfactory transactions thus orphaning the work of noncompliant pools and miners. Perhaps compliant vs. noncompliant is the wrong framing here and something like freedom pools vs. tyrannical pools is more appropriate but you get the point.
If you are interested in learning more about FPPS pools here are a few different options: Antpool, Antpool Proxy 1, Antpool Proxy 2, Antpool Proxy 3, Antpool Proxy 4, and Antpool Proxy 5. Beware that in addition to the pool fee and payout transaction fee, each pool has a different threshold for the minimum payout balance a miner needs before they will send the rewards. If you have a small amount of hashrate then it can take a significant amount of time to reach that threshold and get the payouts sent to a wallet you control. Meanwhile, your hard earned mining rewards are likely in Cobo’s custody.
PPS & PPLNS:
You may be asking yourself what other options there are if FPPS is such a mess? There are a few other reward models that attempt to lower the variance in pooled mining. Pay Per Share (“PPS”) is similar to FPPS but only the block subsidy is factored in to the miner’s payouts, not the transaction fees. The pool still charges a pool fee for their service in the PPS model. PPS is not a very popular option any longer.Then there is Pay Per Last N Shares (“PPLNS”), this model calculates payouts based on a miner’s shares over a given time and the blocks found during that time. This helped reduce variance risk for the pool by shifting that risk to the miners who just wouldn’t earn any rewards if no blocks were found. But this payout model has faded in popularity and will likely not be making a revival, at least not in the same forms as it has been attempted in the past. Slush Pool was a PPLNS pool for a long time before they re-branded to Braiins Pool. Braiins Pool eventually shut down their PPLNS model and switched to FPPS. But recently Braiins did spin up a solo mining pool option. Braiins also offers Lightning payouts to help avoid leaving your mining rewards in their custody for long periods of time until you reach the payout threshold. There is a number of other payout models explained in pain staking technical detail by Meni Rosenfeld in his 2011 paper titled Analysis of Bitcoin Pooled Mining Reward Systems.
Other Reward Models:
There have also been other models introduced more recently. For example, Laurentia Pool was a project focused on decentralizing mining by addressing the custody issue of mining rewards. Instead of having one entity hold the mining rewards, Laurentia was going to payout directly from the coinbase transaction. Unfortunately, it seems as though the Laurentia project is shut down, or at least their website is no longer accessible.The main issue with paying out from coinbase came down to, you guessed it, Bitmain! Bitmain’s closed firmware made it so that only a small number of addresses could be used in the coinbase transaction. Therefore any pool with Bitmain miners on it would experience major problems. Since Bitmain controls an estimated 80-90% of the market, pretty much all pools would have this problem and hence paying directly from coinbase has gained no traction.
The 256 Foundation is addressing this by implementing the option to payout directly from the coinbase transaction on Ember One units running Hydra Pool. The trade off is that it won’t be compatible with Antminers running stock firmware but since the goal is to sever ties to Bitmain, there’s no looking back.
The most recent payout model to make a splash comes from OCEAN and it is called Transparent Index of Distinct Extended Shares (“TIDES”). OCEAN strives to make the mining rewards low variance, fair, and transparent with TIDES. In practice, every share is tracked and indexed in the order it was received from all the pool’s miners. At the time a block is found, the then current network difficulty is used to define a window size equal to eight times the block’s difficulty [IMG-008]. For example, current difficulty is ~114.17 trillion x 8 = 913.36 trillion shares will be the window size. In the IMG-008 example, each lettered square represents a miner’s shares in the index. The miner named “U” is highlighted showing all their shares in the whole index and the shares in the red box are the ones used for that particular block reward.
That window is placed over the share index and all shares are tallied starting from the top of the index and going backwards until the end of the window. The block subsidy and all transaction fees in the block are used to determine each miner’s rewards proportional to their shares in the window. As a simple example, if block subsidy plus transaction fees equals 3.146 BTC and a miner had 1% of the shares in the window then the miner would be awarded 0.03146 BTC minus the pool fee, which is default 2% and can be 1% if the miner chooses to make their own templates.
OCEAN does payout direct from the coinbase transaction however, the number of addresses that can be included in the coinbase transaction are limited by Bitmain’s closed and proprietary firmware. Paying direct from coinbase seems to have been the justification for non-custodial marketing during OCEAN’s initial launch but how the pool is handling rewards for those miners not included in the limited number of coinbase address spots is unclear and the non-custodial language seems to not be in use on the OCEAN website currently. To help smaller miners receive payouts faster, OCEAN implemented Lightning payouts.
[IMG-008] Example from OCEAN of TIDES window
OCEAN combats the centralizing transaction selection affects of FPPS pools with Decentralized Alternative Templates for Universal Mining (“DATUM”) where each miner can generate their own templates with a self-hosted node and a gateway. With DATUM, individual miners get to choose how to construct the templates and which transactions to include.
Stratum v2 and DATUM share some similarities in that individual miners can reclaim the template creation function from the pool, communications are encrypted as opposed to Stratum v1 clear-text, and both frame works have increased data efficiencies. The differences between Stratum v2 and DATUM are not entirely clear but they are completely separate frameworks.
Solo Mining:
Solo mining has been a hot topic on the socials recently, there seems to be disagreements over what “solo” actually means in the context of mining. Some would say that solo mining means one miner receives the block rewards. Others say that solo means the miner is generating their own templates. Neither one is wrong but for clarification these ideas can be unpacked further.Where most miners are choosing FPPS for the small consistent mining rewards solo mining is what miners would choose for large highly-variable mining rewards. Consider a scenario where the operating costs for your miner are negligible, like running a Bitaxe; would you rather earn a few sats per day and never earn anything more or would you rather take your chances at winning the whole block? Running a small miner to have a chance at winning the lottery every 10-minutes sounds much more appealing to a lot of people.
There are several options for solo mining: you can self-host your own node and stratum server, as demonstrated in the January newsletter; in which case you are doing self-hosted solo mining. You run the Bitcoin node, generate the templates, broadcast the block to the rest of the network, and you get all the reward for taking on all the risk. This is the most accurate use of the term “solo” in this author’s opinion because there is one entity receiving the reward and one entity involved with the template generation and block propogation.
Or you can join a solo mining pool like CK Pool, Public Pool, or Braiins Solo Pool; in which you are pooled solo mining. You run the miner but the pool provides the Bitcoin node, generates the templates for you, and broadcasts the block with their likely better connected infrastructure. CK Pool takes a 2% fee for their service, Braiins is probably 2% but it doesn’t seem to be displayed on their website, and Public Pool doesn’t charge a fee. This is a less accurate use of the term “solo” because a pool is involved but because one miner is getting the reward, it is still a form of solo mining none the less.
Or you can even join OCEAN; in which case you are also pooled solo mining according to some. You run your own Bitcoin node and DATUM gateway, generate your own templates, and the pool broadcasts the block. Apparently the miner can choose to share the reward with the rest of the pool or not. In this scenario, the pool would take a 1% fee. This also is a less accurate use of the term “solo” because a pool is involved but because each individual miner is making the template, it is still a form of solo mining none the less.
Whatever you decide to do, whether you’re getting all the rewards or making your own templates or both, it is perfectly acceptable to call it solo mining.
Here is an example of configuring a Bitaxe to solo mine on solo CK Pool with Public Pool as a fallback: open your settings page and set the pools URL in the “stratum host” field being sure to leave out the “stratum+tcp://” part. Then add the port number as indicated by the pool’s website in the “stratum port” field. For the “stratum user” field, insert your bitcoin address, you can append this with a worker name like “.bitaxe” for example. Save those changes and restart the miner.
[IMG-009] Bitaxe Settings Dashboard
State of the Network: Hashrate on the 14-day MA according to mempool.space increased from ~786 Eh/s to ~787 Eh/s in January, marking ~1.2% growth for the month. Just in the first half of February, hashrate has climbed 45 Eh/s to peak at 832 Eh/s on the 14-day MA.
[IMG-010] 2025 hashrate/difficulty chart from mempool.space
Difficulty is currently 114.16T as of Epoch 438 and set to decrease roughly 0.3% on or around February 23, 2025. But that target will change between now and then. The previous re-target increased difficulty by 5.6%. All together for 2025 thus far, difficulty has gone up 4.4%.
New-gen miners are selling for roughly $24.09 per Th using the Bitmain Antminer S21 Pro 234 Th/s model from Kaboom Racks as an example. According to the Hashrate Index, more efficient miners like the <19 J/Th models are fetching 18k sats per terahash, models between 19J/Th – 25J/Th are selling for 13k sats per terahash, and models >25J/Th are selling for 3,500 sats per terahash.
[IMG-011] Miner Prices from Luxor’s Hashrate Index
Hashvalue is currently ~56,000 sats/Ph per day, down slightly from January when hashvalue was closer to 58,000 sats/Ph per day according to Braiins Insights. Hashprice is $53.00/Ph per day, down from $62.00/Ph per day in January.
[IMG-012] Hashprice/Hashvalue from Braiins Insights
The next halving will occur at block height 1,050,000 which should be in roughly 1,122 days or in other words 165,570 blocks from time of publishing this newsletter.
Conclusion: Thank you for reading the first 256 Foundation newsletter. Keep an eye out for more newsletters on a monthly basis in your email inbox by subscribing at 256foundation.org. Or you can download .pdf versions of the newsletters from there as well. You can also find these newsletters published in article form on Nostr.
If you were looking for answers about Bitcoin mining pools then hopefully you found them here.
Stay vigilant, frens. -econoalchemist
-
@ ac8bb9b0:70278acc
2024-12-18 21:18:57Details
- ⏲️ Prep time: 10
- 🍳 Cook time: 20
- 🍽️ Servings: 5
Ingredients
- 8 ounces uncooked linguine
- 1 pound chicken breast, cut into strips
- 1-2 tsp Cajun seasoning, or more to taste
- 1 tsp garlic powder
- 1 tbsp extra virgin olive oil
- 1 medium red bell pepper, thinly sliced
- 1 medium yellow bell pepper, thinly sliced
- 8 oz fresh mushrooms, sliced
- 1/2 red onion, sliced
- 3 cloves garlic, minced
- 2 tomatoes, diced
- 1 cup low sodium chicken broth
- 1/3 cup skim milk
- 1 tbsp flour
- 3 tbsp light cream cheese
- fresh cracked pepper
- 2 scallions, chopped
- kosher salt to taste
- avocado oil spray
Directions
- Prep all your vegetables.
- In a small blender make a slurry by combining milk, flour and cream cheese. Set aside.
- Season chicken generously with Cajun seasoning, garlic powder and salt.
- Prepare pasta in salted water according to package directions.
- Heat a large heavy nonstick skillet over medium-high heat; spray with oil and add half of the chicken.
- Sauté 5 to 6 minutes or until done, set aside on a plate and repeat with the remaining chicken. Set aside.
- Add olive oil to the skillet and reduce to medium; add bell peppers, onions, and garlic to skillet, sauté 3-4 minutes.
- Add mushrooms and tomatoes and sauté 3-4 more minutes or until vegetables are tender.
- Season with 1/4 tsp salt, garlic powder and fresh cracked pepper to taste.
- Reduce heat to medium-low; add chicken broth and pour in slurry stirring about 2 minutes.
- Return chicken to skillet; adjust salt and Cajun seasoning to taste, cook another minute or two until hot, then add linguine; toss well to coat.
- Top with chopped scallions and enjoy!
-
@ 9e69e420:d12360c2
2025-01-30 12:23:04Tech stocks have taken a hit globally after China's DeepSeek launched a competitive AI chatbot at a much lower cost than US counterparts. This has stirred market fears of a $1.2 trillion loss across tech companies when trading opens in New York.
DeepSeek’s chatbot quickly topped download charts and surprised experts with its capabilities, developed for only $5.6 million.
The Nasdaq dropped over 3% in premarket trading, with major firms like Nvidia falling more than 10%. SoftBank also saw losses shortly after investing in a significant US AI venture.
Venture capitalist Marc Andreessen called it “AI’s Sputnik moment,” highlighting its potential impact on the industry.
![] (https://www.telegraph.co.uk/content/dam/business/2025/01/27/TELEMMGLPICT000409807198_17379939060750_trans_NvBQzQNjv4BqgsaO8O78rhmZrDxTlQBjdGLvJF5WfpqnBZShRL_tOZw.jpeg)
-
@ 000002de:c05780a7
2025-02-20 01:52:34Due to some some org changes at my employer I may be moving to a team that uses Python heavily. I have never written Python professionally but I've dabbled. I think its used heavily in certain fields and is likely a marketable language to have on the CV. Am I correct in that summary?
Is it growing? Is it evolving? I know its alive and well but I just don't hear much about it anymore. Has it just matured like many languages over the years?
originally posted at https://stacker.news/items/891251
-
@ ac8bb9b0:70278acc
2024-12-16 19:37:12Details
- ⏲️ Prep time: 10
- 🍳 Cook time: 20
- 🍽️ Servings: 6
Ingredients
- 2 tablespoons extra virgin olive oil
- 1 1/2 pounds ground chicken
- 1 yellow onion, chopped
- 2 tablespoons taco seasoning
- salt and black pepper
- 2 1/2 cups salsa or enchilada sauce
- 1 chipotle chili in adobo, chopped
- 2 cups fresh corn
- 4 ounces cream cheese, at room temperature
- 1/4 cup plain greek yogurt
- 1 teaspoon chili powder
- 1 1/2 cups shredded Mexican cheese blend
- 2 cups tortilla chips
- avocado, cilantro, and green onions, for serving
Directions
- Preheat the oven to 400° F.
- In a large oven-safe skillet, combine the olive oil, chicken, onion, salt, and pepper. Set the skillet over high heat. Cook, breaking up the meat as it cooks, until browned all over, 5 minutes. Add the taco seasoning, cook another 2 minutes. Then add 1/2 cup water. Stir in the salsa/enchilada sauce and chipotle. Simmer 5 minutes. Remove from the heat and add in the cilantro.
- In a bowl, combine the corn, cream cheese, yogurt, chili powder, and salt. Stir in 1/2 cup cheese.
- Dollop 1/3 of the corn mix over the skillet. Add the tortilla chips on top, pressing them gently into the skillet. Add the remaining corn mix by spoonfuls on top of the chips (like nachos). Top with the remaining cheese. Bake for 15 minutes, until the cheese is melted.
- Serve topped as desired with avocado, cilantro, green onion, and cotija/feta cheese.
-
@ 16f1a010:31b1074b
2025-02-19 20:57:59In the rapidly evolving world of Bitcoin, running a Bitcoin node has become more accessible than ever. Platforms like Umbrel, Start9, myNode, and Citadel offer user-friendly interfaces to simplify node management. However, for those serious about maintaining a robust and efficient Lightning node ⚡, relying solely on these platforms may not be the optimal choice.
Let’s delve into why embracing Bitcoin Core and mastering the command-line interface (CLI) can provide a more reliable, sovereign, and empowering experience.
Understanding Node Management Platforms
What Are Umbrel, Start9, myNode, and Citadel?
Umbrel, Start9, myNode, and Citadel are platforms designed to streamline the process of running a Bitcoin node. They offer graphical user interfaces (GUIs) that allow users to manage various applications, including Bitcoin Core and Lightning Network nodes, through a web-based dashboard 🖥️.
These platforms often utilize Docker containers 🐳 to encapsulate applications, providing a modular and isolated environment for each service.
The Appeal of Simplified Node Management
The primary allure of these platforms lies in their simplicity. With minimal command-line interaction, users can deploy a full Bitcoin and Lightning node, along with a suite of additional applications.
✅ Easy one-command installation
✅ Web-based GUI for management
✅ Automatic app updates (but with delays, as we’ll discuss)However, while this convenience is attractive, it comes at a cost.
The Hidden Complexities of Using Node Management Platforms
While the user-friendly nature of these platforms is advantageous, it can also introduce several challenges that may hinder advanced users or those seeking greater control over their nodes.
🚨 Dependency on Maintainers for Updates
One significant concern is the reliance on platform maintainers for updates. Since these platforms manage applications through Docker containers, users must wait for the maintainers to update the container images before they can access new features or security patches.
🔴 Delayed Bitcoin Core updates = potential security risks
🔴 Lightning Network updates are not immediate
🔴 Bugs and vulnerabilities may persist longerInstead of waiting on a third party, why not update Bitcoin Core & LND yourself instantly?
⚙️ Challenges in Customization and Advanced Operations
For users aiming to perform advanced operations, such as:
- Custom backups 📂
- Running specific CLI commands 🖥️
- Optimizing node settings ⚡
…the abstraction layers introduced by these platforms become obstacles.
Navigating through nested directories and issuing commands inside Docker containers makes troubleshooting a nightmare. Instead of a simple
bitcoin-cli
command, you must figure out how to execute it inside the container, adding unnecessary complexity.Increased Backend Complexity
To achieve frontend simplicity, these platforms make the backend more complex.
🚫 Extra layers of abstraction
🚫 Hidden logs and settings
🚫 Harder troubleshootingThe use of multiple Docker containers, custom scripts, and unique file structures can make system maintenance and debugging a pain.
This complication defeats the purpose of “making running a node easy.”
✅ Advantages of Using Bitcoin Core and Command-Line Interface (CLI)
By installing Bitcoin Core directly and using the command-line interface (CLI), you gain several key advantages that make managing a Bitcoin and Lightning node more efficient and empowering.
Direct Control and Immediate Updates
One of the biggest downsides of package manager-based platforms is the reliance on third-party maintainers to release updates. Since Bitcoin Core, Lightning implementations (such as LND, Core Lightning, or Eclair), and other related software evolve rapidly, waiting for platform-specific updates can leave you running outdated or vulnerable versions.
By installing Bitcoin Core directly, you remove this dependency. You can update immediately when new versions are released, ensuring your node benefits from the latest features, security patches, and bug fixes. The same applies to Lightning software—being able to install and update it yourself gives you full autonomy over your node’s performance and security.
🛠 Simplified System Architecture
Platforms like Umbrel and myNode introduce extra complexity by running Bitcoin Core and Lightning inside Docker containers. This means:
- The actual files and configurations are stored inside Docker’s filesystem, making it harder to locate and manage them manually.
- If something breaks, troubleshooting is more difficult due to the added layer of abstraction.
- Running commands requires jumping through Docker shell sessions, adding unnecessary friction to what should be a straightforward process.
Instead, a direct installation of Bitcoin Core, Lightning, and Electrum Server (if needed) results in a cleaner, more understandable system. The software runs natively on your machine, without containerized layers making things more convoluted.
Additionally, setting up your own systemd service files for Bitcoin and Lightning is not as complicated as it seems. Once configured, these services will run automatically on boot, offering the same level of convenience as platforms like Umbrel but without the unnecessary complexity.
Better Lightning Node Management
If you’re running a Lightning Network node, using CLI-based tools provides far more flexibility than relying on a GUI like the ones bundled with node management platforms.
🟢 Custom Backup Strategies – Running Lightning through a GUI-based node manager often means backups are handled in a way that is opaque to the user. With CLI tools, you can easily script automatic backups of your channels, wallets, and configurations.
🟢 Advanced Configuration – Platforms like Umbrel force certain configurations by default, limiting how you can customize your Lightning node. With a direct install, you have full control over: * Channel fees 💰 * Routing policies 📡 * Liquidity management 🔄
🟢 Direct Access to LND, Core Lightning, or Eclair – Instead of issuing commands through a GUI (which is often limited in functionality), you can use: *
lncli
(for LND) *lightning-cli
(for Core Lightning) …to interact with your node at a deeper level.Enhanced Learning and Engagement
A crucial aspect of running a Bitcoin and Lightning node is understanding how it works.
Using an abstraction layer like Umbrel may get a node running in a few clicks, but it does little to teach users how Bitcoin actually functions.
By setting up Bitcoin Core, Lightning, and related software manually, you will:
✅ Gain practical knowledge of Bitcoin nodes, networking, and system performance.
✅ Learn how to configure and manage RPC commands.
✅ Become less reliant on third-party developers and more confident in troubleshooting.🎯 Running a Bitcoin node is about sovereignty – learn how to control it yourself.
Become more sovereign TODAY
Many guides make this process straightforward K3tan has a fantastic guide on running Bitcoin Core, Electrs, LND and more.
- Ministry of Nodes Guide 2024
- You can find him on nostr
nostr:npub1txwy7guqkrq6ngvtwft7zp70nekcknudagrvrryy2wxnz8ljk2xqz0yt4xEven with the best of guides, if you are running this software,
📖 READ THE DOCUMENTATIONThis is all just software at the end of the day. Most of it is very well documented. Take a moment to actually read through the documentation for yourself when installing. The documentation has step by step guides on setting up the software. Here is a helpful list: * Bitcoin.org Bitcoin Core Linux install instructions * Bitcoin Core Code Repository * Electrs Installation * LND Documentation * LND Code Repository * CLN Documentation * CLN Code Repository
If you have any more resources or links I should add, please comment them . I want to add as much to this article as I can.
-
@ 0fa80bd3:ea7325de
2025-01-30 04:28:30"Degeneration" or "Вырождение" ![[photo_2025-01-29 23.23.15.jpeg]]
A once-functional object, now eroded by time and human intervention, stripped of its original purpose. Layers of presence accumulate—marks, alterations, traces of intent—until the very essence is obscured. Restoration is paradoxical: to reclaim, one must erase. Yet erasure is an impossibility, for to remove these imprints is to deny the existence of those who shaped them.
The work stands as a meditation on entropy, memory, and the irreversible dialogue between creation and decay.
-
@ 2e8970de:63345c7a
2025-02-22 14:41:31-Blue: Neuroticism -Green: Extraversion -Red: Openness to experience -Orange: Agreeableness -Purple: Conscientiousness [sourcs(https://www.stevestewartwilliams.com/p/are-there-age-and-sex-differences)]
originally posted at https://stacker.news/items/893992
-
@ f33c8a96:5ec6f741
2025-02-19 20:47:43 -
@ 0fa80bd3:ea7325de
2025-01-29 15:43:42Lyn Alden - биткойн евангелист или евангелистка, я пока не понял
npub1a2cww4kn9wqte4ry70vyfwqyqvpswksna27rtxd8vty6c74era8sdcw83a
Thomas Pacchia - PubKey owner - X - @tpacchia
npub1xy6exlg37pw84cpyj05c2pdgv86hr25cxn0g7aa8g8a6v97mhduqeuhgpl
calvadev - Shopstr
npub16dhgpql60vmd4mnydjut87vla23a38j689jssaqlqqlzrtqtd0kqex0nkq
Calle - Cashu founder
npub12rv5lskctqxxs2c8rf2zlzc7xx3qpvzs3w4etgemauy9thegr43sf485vg
Джек Дорси
npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m
21 ideas
npub1lm3f47nzyf0rjp6fsl4qlnkmzed4uj4h2gnf2vhe3l3mrj85vqks6z3c7l
Много адресов. Хз кто надо сортировать
https://github.com/aitechguy/nostr-address-book
ФиатДжеф - создатель Ностр - https://github.com/fiatjaf
npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6
EVAN KALOUDIS Zues wallet
npub19kv88vjm7tw6v9qksn2y6h4hdt6e79nh3zjcud36k9n3lmlwsleqwte2qd
Программер Коди https://github.com/CodyTseng/nostr-relay
npub1syjmjy0dp62dhccq3g97fr87tngvpvzey08llyt6ul58m2zqpzps9wf6wl
Anna Chekhovich - Managing Bitcoin at The Anti-Corruption Foundation https://x.com/AnyaChekhovich
npub1y2st7rp54277hyd2usw6shy3kxprnmpvhkezmldp7vhl7hp920aq9cfyr7
-
@ 6e0ea5d6:0327f353
2025-02-21 18:08:19When talking about the tumbles we experience in our early years, it’s almost impossible not to try to compare the degree of distress that each stumble has provided us.
Even if harmless, the first accident that comes to mind is one that, in some way, left its mark. Whether it’s a scraped knee, a gash on the forehead, or a broken arm: having that first conscious encounter with pain is an unforgettable terror.
For in one moment, we are sheltered in the loving arms of our parents, feeling invulnerable, and moments later there’s a thick mixture of blood and dirt streaming from a cut that doesn’t seem all that exaggerated to someone looking from the outside — but only to those looking from the outside.
However, this is not what makes that first contact with pain so terrifying. It’s the discovery of how lonely we are when facing an individual agony, even under the care of an adult.
Ultimately, what follows the shock can vary from the sting of cleaning the wound to the warning slap. After the understanding is digested, and we learn how wounds are made, we become cautious. A slip is met with laughter, and we grow tougher than the ground.
That is, until we discover the free fall that holds the world’s problems…
“Consciousness, not age, leads to wisdom.” — Publilius Syrus
Thank you for reading, my friend! If this message helped you in any way, consider leaving your glass “🥃” as a token of appreciation.
A toast to our family!
-
@ ac6f9572:8a6853dd
2025-02-22 13:01:56The old world crumbles. The sovereign rises.
Join #Bitshala at #BitPlebs Summit in Goa — a gathering of builders, creators, educators, and hodlers forging #India’s #Bitcoin future.
Open forums. Un-conference style talks. By @bitshala & @plebstogether
RSVP now: https://lu.ma/cd55r5d4
X: https://x.com/bitshala_org/status/1893252853709365684?s=09
originally posted at https://stacker.news/items/893899
-
@ 07804b78:c375c543
2024-12-15 12:56:05Japanese follows. 日本語はあとで。
This article is for the 14th day of Nostr Advent Calendar 2024 (relay blogging). The article for the 13th day was "Open Sats 申請編" (Applying for Open Sats) by mono-san. The article for the 14th day will be "Nostrはじめました。" (I started Nostr) by bro-san.
Thinking of Thingstr
I've come up with an idea for Other Staff that I think is interesting (at least, for me), so I'm going to write about it. I actually wanted to show you the implementation and brag about it, but it's not solid enough to be implemented yet.
The key idea is just “add a reaction to the WikiData ID”.
WikiData
There is a service called WikiData. It is a knowledge base that provides structured data. You may be wondering what it is, but the important thing to understand here is that WikiData assigns identifiers to a fairly wide range of “objects” and “things”.
So, if you can react to this, you can think of various applications just by thinking of it for a moment, right?
For example, the anime series “There are too many losing heroines!” is assigned the ID
Q123819103
. The corresponding page is https://www.wikidata.org/wiki/Q123819103 .(NOTE: The canonical URI for entities on Wikidata is http://www.wikidata.org/entity/Q1142841. This is in accordance with Semantic Web conventions, and is not https, but http. Also, this URI does not necessarily match the actual address of the correspnding web page. Just an identifier. In most cases, it will redirect).
What can wd do?
For example, what about a website that records your anime viewing history? You can record what you want to watch with 👀, what you've already watched with ✅, and your favorites with ☆. You can also express your “likes” for production companies, staff, voice actors, etc. In this way, you can see what a particular user likes.
This could be a movie, a book, a comic, an author, music, an idol group, a place, or food (Someone likes pork cutlet
Q1142841
). The fact that you can record everything in the same framework is what makes it interesting.What form of event should it be recorded as?
There is probably room for discussion about how to record this information in a concrete way. The simplest way would be to use NIP-25's "Reactions to a website" kind:17 (a.k.a. Makibishi). How about something like this?
json [ ["i", "wd:Q123819103", "http://www.wikidata.org/entity/Q123819103"], ]
Since NIP-73 has External Content IDs, it would be good if we could include WikiData here so that we could write
wd:Q123819103
. Actually,isbn:
and other identifiers have already been defined, so it is possible to use the current NIP range to describe books (however, the authors do not have IDs. If we use WikiData as an ID, we can also describe reactions related to the author). Of course, it is not a matter of choosing one or the other, and it is also fine to add the ISBN tag at the same time as the WikiData tag for books.Search for recorded reactions
So far, this is all very simple, but it would be inconvenient if we didn't include tags to mark subsets of reactions (for example, only those related to anime) so that we can query them together. When we try to create a site that is specialized for a certain purpose, we need to be able to extract the reactions that are necessary.
On Wikidata, the predicate
wdt:P31
(instance of) is used to group together concepts that represent the same thing. For example, how about including this in thel
tag? "There are too many losing heroines!" is a "Japanese television anime series (Q63952888
)", so:json [ ["i", "wd:Q1142841", "http://www.wikidata.org/entity/Q1142841"], ["l", "wdt:P31 wd:Q63952888"] ]
UPDATE(2024-12-15): rnurachue-san suggested that
#l
or#L
might be better for labeling (the first version used#a
). I think that's a good idea, so I've updated the article. nostr:nevent1qgswamu0rsela0kwhj87p24ueapxdp04vzz7ar0pp6lfyq923t3l02cqyr9786635s60ra0f973nwv2sln2l74lqx4twdlgxfz2jgevpvsgtc9zwn6dHowever, when you think about creating an anime website, you may want to query both TV anime and anime films. This makes things more complicated. "Japanese TV anime series (
Q63952888
)" is a subclass (subclass of;wdt:P279
) of "Anime series (Q117467261
)", which is in turn a subclass of "Anime (Q1107
)". However, if you were to embed this hierarchy in each reaction, it would waste a lot of space. The following query will get all the superclasses of "Japanese TV anime series (Q63952888
)", but there are 54 of them.https://query.wikidata.org/#%23%20Subclass%20hierarchy%20traversal%20for%20Q63952888%0ASELECT%20%3Fitem%20%3FitemLabel%20%3Fsuperclass%20%3FsuperclassLabel%0AWHERE%20%7B%0A%20%20%23%20Starting%20class%0A%20%20wd%3AQ63952888%20wdt%3AP279%2a%20%3Fsuperclass%20.%0A%20%20BIND%28wd%3AQ63952888%20AS%20%3Fitem%29%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%7D%0AORDER%20BY%20%3Fsuperclass%0A
So, I think it should be okay for practical purposes to embed
P31
s of the reaction target. In other words, if you search for "anime seriesQ63952888
" and "anime movieQ20650540
", that should be enough. Fortunately, the conditions for single-character tags work with OR, so you can query multiple tags at once. we'll have to try it to see how well it works in practice, though.Discussion: Which kind should I use?
So far we have considered using kind:17, but we have not yet decided whether it is a good idea to mix Thingstr events with reactions to web pages.
Also, there may be a debate over whether to record regular events or addressable events, depending on the purpose of use. For example, if you want to record the transition of viewing results and impressions on an anime viewing site, you should use regular events, and if you want to maintain the viewing status, you should use addressable events.
What do you think?
Other ideas
If we can react to Nodes on OpenStreetMap using the same framework, we might be able to create something like Swarm. Since the views you want to see will differ depending on the purpose, it would be good to create various sites while having a consistent way of recording. Wouldn't that be the most Nostr-like thing?
Summary
I discussed how to use WikiData and OpenStreetMap as an ID infrastructure and realize various check-in and review services with a unified data model by using them on Nostr. Please let us know if you have any feedback. Or why not try implementing it?
この記事は Nostr Advent Calendar 2024 の14日目の記事です。13日目の記事はmonoさんによる「Open Sats 申請編」でした。15日目の記事はbroさんによる「Nostrはじめました。」です。
Thingstrについて考えた
面白そうな(と勝手に思ってる) Other Staff のアイディアを思いついたので、書いてみます。 本当は実装を持ってきて自慢したかったのですが、まだふわっとしていて実装に落ちていません。
コアになるアイディアは「WikiData の ID に対して、Reactionをつける」これだけです。
WikiData
WikiData というサービスがあります。構造化データを提供する知識ベースです。 なにそれ?という感じですが、ここで大事なのはWikiDataはかなり広範な「もの」「こと」に識別子(Identifier)を付与している、ということです。
だから、これにリアクションできれば、ぱっと思いつくだけでもいろいろな応用ができそうじゃないですか。
例えば、アニメシリーズ「負けヒロインが多すぎる!」には
Q123819103
というIDが振られています。これに対応するページとして https://www.wikidata.org/wiki/Q123819103 があります。(ただし、WikiData のエンティティに対する canonical な URI は http://www.wikidata.org/entity/Q1142841 であることには注意が必要です。セマンティックウェブの作法で https ではなく http になっています。そして、このURIは必ずしもWebページのアドレス一致しません。大抵の場合はリダイレクトされます)。
なにができるの
たとえば、アニメの視聴記録サイトはどうでしょう。👀は見たい作品、✅は視聴済み、☆はお気に入り、みたいに記録していく。制作会社、スタッフ、声優、...に対してLikeを表明したりできそうです。そうすると、あるユーザが何にLikeしているかわかります。
これが映画でもいいし、書籍、漫画、作家でもいいし、音楽でもいいし、アイドルグループでもいいし、場所でもいいし、食べ物でもいい(とんかつ
Q1142841
が好き、とか)。全部同じ枠組みで記録できるのが面白そうなところです。どういうNostrイベントで記録する?
具体的な記録の仕方には議論の余地があるでしょう。一番単純なのは、NIP-25の "Reactions to a website" kind:17 (Makibishi) を使う方法でしょうか。こんなのはどうでしょう。
json [ ["i", "wd:Q123819103", "http://www.wikidata.org/entity/Q123819103"], ]
NIP-73にExternal Content IDsがあるので、ここにWikiDataを入れられるようにして
wd:Q123819103
と書けるとよさそうです。実はisbn:
などはすでに定義されているので、書籍に関しては現行のNIPの範囲でもうまいことできます(ただ、著者にはIDが振られていません。WikiDataをIDに使うと著者に関するリアクションも記述できます)。もちろん、どちらか一方を選ぶというものでもなくて、書籍にはWikiDataのタグと当時にISBNのタグを付与しておいてもいいと思います。記録されたリアクションを検索する
ここまではシンプルでよいのですが、リアクションの部分集合(たとえばアニメに関連するものだけ、とか)をまとめてクエリできるように、目印となるタグを入れておかないと不便です。ある目的に特化したサイトを作ろうとしたとき、必要になるリアクションが抽出できるようにしておかないといけません。
WikiData では
wdt:P31
(instance of) という述語で、ある概念が何を表しているかをグルーピングしてくれています。例えばこれをl
タグとかに含めておくのはどうでしょうか。負けヒロインが多すぎる!は「日本のテレビアニメシリーズ(
Q63952888
)」なので、json [ ["i", "wd:Q1142841", "http://www.wikidata.org/entity/Q1142841"], ["l", "wdt:P31 wd:Q63952888"] ]
みたいな感じで付与します。
UPDATE(2024-12-15): rnurachueさんからラベル付けには
#l
または#L
のほうがよいかもという提案をいただきました。最初のバージョンでは#a
を使用していました。そのとおりだと思ったので更新しました。 nostr:nevent1qgswamu0rsela0kwhj87p24ueapxdp04vzz7ar0pp6lfyq923t3l02cqyr9786635s60ra0f973nwv2sln2l74lqx4twdlgxfz2jgevpvsgtc9zwn6dただ、アニメサイトを作ることを考えると、テレビアニメも劇場版アニメも両方クエリしたいこともありそうですよね。そうなると話が複雑になってきます。
「日本のテレビアニメシリーズ(
Q63952888
)」は「アニメシリーズ(Q117467261
)」のサブクラス(subclass of;wdt:P279
)で、それがさらに「アニメ(Q1107
)」 のサブクラスになっています。ただ、この階層をいちいちリアクションに埋め込むのと大変なことになります。以下のようなクエリで「日本のテレビアニメシリーズ(Q63952888
)」のすべての上位クラスが取れるのですが、54件もあります。https://query.wikidata.org/#%23%20Subclass%20hierarchy%20traversal%20for%20Q63952888%0ASELECT%20%3Fitem%20%3FitemLabel%20%3Fsuperclass%20%3FsuperclassLabel%0AWHERE%20%7B%0A%20%20%23%20Starting%20class%0A%20%20wd%3AQ63952888%20wdt%3AP279%2a%20%3Fsuperclass%20.%0A%20%20BIND%28wd%3AQ63952888%20AS%20%3Fitem%29%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%7D%0AORDER%20BY%20%3Fsuperclass%0A
なので、リアクション対象の
P31
を埋め込む、くらいで実用上は問題ないような気がします。つまり、検索するときに 「アニメシリーズQ63952888
」と「アニメ映画Q20650540
」を対象にすれば、十分では、ということです。幸い、一文字タグの条件はORで効くので、複数を並べて一度にクエリできます。実際にどのくらいうまく行くかはやってみないとわからないですが。議論: どの kind を使うべきか?
一旦 kind 17 を使うことを考えてきましたが、Thingstr のイベントが Web ページに対するリアクションと混ざるのが良いことなのか、いまいち判断がついていません。
また、用途によって regular event で記録するべきか、それとも addressable event で記録すべきか、という議論もありそうです。 アニメ視聴サイトを例にあげるなら、視聴実績とか感想の変遷を記録したいならば regular event でしょうし、視聴の状態を保持したいならば addressable とするのがよさそうです。
どう思いますか?
他のアイディア
これと同じ枠組みで OpenStreetMap の Node に対してリアクションできるようにすれば Swarm のようなものも実現できるかもしれません。
用途ごとに見たいビューは違うだろうから、一貫した記録の仕方を持ちつつ、色々なサイトを作ったらいいんじゃないでしょうか。それって最高にNostrっぽくないですか?
まとめ
WikiDataやOpenStreetMapをID基盤として活用し、Nostr上でreactすることで、様々なチェックインサービス、レビューサービスを統一的なデータモデルで実現する方法について議論しました。フィードバックがあったら教えてください。むしろ実装してみてください。
-
@ 0fa80bd3:ea7325de
2025-01-29 14:44:48![[yedinaya-rossiya-bear.png]]
1️⃣ Be where the bear roams. Stay in its territory, where it hunts for food. No point setting a trap in your backyard if the bear’s chilling in the forest.
2️⃣ Set a well-hidden trap. Bury it, disguise it, and place the bait right in the center. Bears are omnivores—just like secret police KGB agents. And what’s the tastiest bait for them? Money.
3️⃣ Wait for the bear to take the bait. When it reaches in, the trap will snap shut around its paw. It’ll be alive, but stuck. No escape.
Now, what you do with a trapped bear is another question... 😏
-
@ 0fa80bd3:ea7325de
2025-01-29 05:55:02The land that belongs to the indigenous peoples of Russia has been seized by a gang of killers who have unleashed a war of extermination. They wipe out anyone who refuses to conform to their rules. Those who disagree and stay behind are tortured and killed in prisons and labor camps. Those who flee lose their homeland, dissolve into foreign cultures, and fade away. And those who stand up to protect their people are attacked by the misled and deceived. The deceived die for the unchecked greed of a single dictator—thousands from both sides, people who just wanted to live, raise their kids, and build a future.
Now, they are forced to make an impossible choice: abandon their homeland or die. Some perish on the battlefield, others lose themselves in exile, stripped of their identity, scattered in a world that isn’t theirs.
There’s been endless debate about how to fix this, how to clear the field of the weeds that choke out every new sprout, every attempt at change. But the real problem? We can’t play by their rules. We can’t speak their language or use their weapons. We stand for humanity, and no matter how righteous our cause, we will not multiply suffering. Victory doesn’t come from matching the enemy—it comes from staying ahead, from using tools they haven’t mastered yet. That’s how wars are won.
Our only resource is the will of the people to rewrite the order of things. Historian Timothy Snyder once said that a nation cannot exist without a city. A city is where the most active part of a nation thrives. But the cities are occupied. The streets are watched. Gatherings are impossible. They control the money. They control the mail. They control the media. And any dissent is crushed before it can take root.
So I started asking myself: How do we stop this fragmentation? How do we create a space where people can rebuild their connections when they’re ready? How do we build a self-sustaining network, where everyone contributes and benefits proportionally, while keeping their freedom to leave intact? And more importantly—how do we make it spread, even in occupied territory?
In 2009, something historic happened: the internet got its own money. Thanks to Satoshi Nakamoto, the world took a massive leap forward. Bitcoin and decentralized ledgers shattered the idea that money must be controlled by the state. Now, to move or store value, all you need is an address and a key. A tiny string of text, easy to carry, impossible to seize.
That was the year money broke free. The state lost its grip. Its biggest weapon—physical currency—became irrelevant. Money became purely digital.
The internet was already a sanctuary for information, a place where people could connect and organize. But with Bitcoin, it evolved. Now, value itself could flow freely, beyond the reach of authorities.
Think about it: when seedlings are grown in controlled environments before being planted outside, they get stronger, survive longer, and bear fruit faster. That’s how we handle crops in harsh climates—nurture them until they’re ready for the wild.
Now, picture the internet as that controlled environment for ideas. Bitcoin? It’s the fertile soil that lets them grow. A testing ground for new models of interaction, where concepts can take root before they move into the real world. If nation-states are a battlefield, locked in a brutal war for territory, the internet is boundless. It can absorb any number of ideas, any number of people, and it doesn’t run out of space.
But for this ecosystem to thrive, people need safe ways to communicate, to share ideas, to build something real—without surveillance, without censorship, without the constant fear of being erased.
This is where Nostr comes in.
Nostr—"Notes and Other Stuff Transmitted by Relays"—is more than just a messaging protocol. It’s a new kind of city. One that no dictator can seize, no corporation can own, no government can shut down.
It’s built on decentralization, encryption, and individual control. Messages don’t pass through central servers—they are relayed through independent nodes, and users choose which ones to trust. There’s no master switch to shut it all down. Every person owns their identity, their data, their connections. And no one—no state, no tech giant, no algorithm—can silence them.
In a world where cities fall and governments fail, Nostr is a city that cannot be occupied. A place for ideas, for networks, for freedom. A city that grows stronger the more people build within it.
-
@ 9e69e420:d12360c2
2025-01-26 15:26:44Secretary of State Marco Rubio issued new guidance halting spending on most foreign aid grants for 90 days, including military assistance to Ukraine. This immediate order shocked State Department officials and mandates “stop-work orders” on nearly all existing foreign assistance awards.
While it allows exceptions for military financing to Egypt and Israel, as well as emergency food assistance, it restricts aid to key allies like Ukraine, Jordan, and Taiwan. The guidance raises potential liability risks for the government due to unfulfilled contracts.
A report will be prepared within 85 days to recommend which programs to continue or discontinue.
-
@ 88d8c9d1:5b3ac02b
2025-02-18 06:19:24This article was first published on Bitcoin Magazine at Aug 27, 2024.
In the rapidly expanding global Bitcoin community, Western biases often dominate the narrative, overlooking diverse stories from around the world. One such story belongs to Didier Somnuke, a small business owner in the heart of Bangkok, a city known for welcoming 22.8 million international tourists in 2023, surpassing cities like Paris, London, and New York City. Although Thailand has experienced a massive spike in household debt, reaching 16.37 trillion baht (US$463 billion) or 90.8% of the national GDP, up from less than 14 trillion baht in 2019.
[primal.net/p/npub1xzh2kqynr29x6j3ln6x05f26ha0c0ucfr280uzljftlgcthv9r6skqe7dt] aka Didier Somnuke, born in Yala province, where geopolitical conflict is a harsh reality. Southern Thailand is one of the poorest parts of Thailand with a poverty rate of 34% compared to the national average of 6%, according to the World Bank, has been plagued by instability. Since 2004, this turmoil has claimed over 7,000 lives and injured 13,500 people.
As a Thai saying goes, “ทวงสิทธิ์ที่จะมีชีวิตที่ดีกลับคืนมา” (Reclaim the right to a better life), In 2012, Didier left his conflict-ridden hometown for Bangkok, where pursuing higher education was a beacon of hope for a better life. At that time, Bitcoin and financial concepts were distant ideas in Didier's universe. Navigating the vibrant streets of Bangkok, Didier completed his master's degree and joined the workforce, taking up a typical 9-to-5 job. For a domestic migrant, this was a significant achievement. Reflecting on his journey, he recalled his teacher’s words, “When you are old, you have time and money, but you will lack the energy to start a business. If you want to do it, just do it.” With this advice in mind, Didier resigned from his monotonous corporate job after a year and opened a new chapter in his life.
Didier borrowed 50,000 THB (approximately 1,500 USD) from his brother to begin a street burger shop. He chose to start a burger business because he believed it was easy to launch with a small investment. Driven by his ambition and inspired by the bustling energy of Bangkok, a city that never sleeps. He spent about a year developing the recipe and began the business in 2015. In the first three to four years, he managed everything on his own as a solo entrepreneur, and his income was lower than the wage he earned in his corporate job. He often wondered if he had made a mistake by quitting his job to start a business that generated less income. However, after five years, everything started to improve. Sales at the shop began to increase, and Didier started hiring employees.
He admitted, "I entered the crypto market with greed; all I wanted was to get rich quickly." In 2017, he and his friends pooled their resources to buy three ASIC miners from Bitmain to try mining Bitcoin and altcoins like Litecoin and Dogecoin. They saw a return on their investment within six months. Didier bought his first Bitcoin in early 2017 to purchase those ASIC miners but didn't know how to transfer his Bitcoin, so he ended up using a bank transfer instead.
Reflecting on his early experiences, he recalled, "My first Bitcoin were slowly converted to shitcoins during the bull market. I was so lucky. I got a 100% profit almost immediately whenever I bought something." Despite having zero knowledge about cryptocurrency, he gained confidence and became a super shitcoiner, paying very little attention to Bitcoin.
In mid-2017, he learned about leverage and trading. His profits skyrocketed due to leverage. Although luck was not always on his side forever, in early 2018, the market crashed, and he lost over 1 million Thai baht (almost 30,000 USD), while his initial capital was just about 100,000 Thai baht (about 3,000 USD). On top of that, he also lost his shitcoins from the mining pool. He had kept all of his shitcoins in the mining pool's custody, and one day, when he checked his account, every shitcoin he owned, worth 10,000 USD were gone. The notice on the mining website, "Hash-to-Coin," stated that if coins were kept with them for more than three months, they would be considered a donation.
He disheartenedly said, "I lost everything." But unlike most people, "I didn't blame Bitcoin. I still see it as the future. I blame myself. I didn't know anything and I did over leverage." He emphasized that despite his heavy financial losses, his girlfriend did not leave him. "My girlfriend was my customer. She regularly came to buy burgers. I met her while I was struggling financially during my early days as an entrepreneur. She supported me and said we could make the money back."
Determined to turn his circumstances around, he discovered Mr. Piriya on YouTube and started following his live streams about the real Bitcoin education. This marked the moment he began to truly understand what Bitcoin and cryptocurrency are. Enlightened by this unique knowledge, he came to see Bitcoin as a saving technology rather than just a trading tool. Over three years, Didier recovered from his losses and emerged stronger. He got to be friend with Mr. Piriya, and together they founded a company called Right Shift to develop Bitcoin content in Thai language through multiple social media channels, including on Nostr (npub1ejn774qahqmgjsfajawy7634unk88y26yktvwuzp9kfgdeejx9mqdm97a5) with one of the popular hashtag #siamstr. As a team, they translated "The Bitcoin Standard" and "The Fiat Standard" into Thai, both of which became best-selling books in Thailand. They organized the first-ever Bitcoin Thailand Conference in 2023 and are now preparing for the next one in September 2024.
Didier now accepts Bitcoin as a payment method in his main burger shop, one of four different franchises. He uses Wallet of Satoshi to process these payments. Within a year of implementing this initiative, he has received over 3 million sats in payments, though he initially expected to see more transactions in Bitcoin. In his marketplace, some neighboring small business owners occasionally ask him about Bitcoin as they notice the large Bitcoin poster in his shop. Although they often lose interest once he explains, according to his several unsuccessful experience. Instead now, he focuses his energy online, where he can make more impact to people who are willing to embrace innovation.
In 2022, approximately 8.4 million people in Thailand, accounting for 12% of the country's population, used cryptocurrency. Estimates suggest that by 2028, this number will rise to about 17.67 million, representing 25% of the population. During our conversation, Didier claimed that there are about 50,000 Bitcoin users in Thailand and speculated that the Thai government might intervene in Bitcoin adoption, potentially mandating the use of KYC wallets because they dislike money systems they can't control. In the worst-case scenario, Didier remains resolute: he will continue advocating for Bitcoin with his friends. "It is not an option," he asserted, "it is the only way to survive."
-
@ 3f53cc0b:a441f148
2025-02-22 12:12:53One88 đã và đang khẳng định vị thế của mình là một trong những nền tảng giải trí trực tuyến nổi bật, mang lại những trải nghiệm đỉnh cao cho người tham gia. Nền tảng này cung cấp một loạt các trò chơi đa dạng, từ những trò chơi trí tuệ yêu cầu tư duy và chiến lược, đến những trò chơi nhẹ nhàng, thư giãn để giải tỏa căng thẳng. Sự phong phú về thể loại game giúp One88 thu hút được đông đảo người chơi với nhiều sở thích và nhu cầu giải trí khác nhau. Giao diện của One88 được thiết kế vô cùng thân thiện và dễ sử dụng, cho phép người tham gia dễ dàng tiếp cận và tham gia vào các trò chơi chỉ với vài thao tác đơn giản. Nền tảng này cũng không ngừng sáng tạo và cải tiến các trò chơi, mang đến sự mới mẻ và hấp dẫn mỗi khi người chơi quay lại. Với những trò chơi liên tục được cập nhật và đổi mới, One88 không chỉ là nơi để giải trí mà còn là một không gian để người tham gia thử thách bản thân và khám phá những điều thú vị mới mẻ.
Ngoài các trò chơi phong phú, ONE88 còn đặc biệt chú trọng đến việc xây dựng một cộng đồng người chơi gắn kết và năng động. Các tính năng cộng đồng của One88, bao gồm chat nhóm, diễn đàn thảo luận, và các sự kiện trực tuyến, tạo cơ hội cho người tham gia kết nối, chia sẻ kinh nghiệm và học hỏi từ những người chơi khác. Mỗi người tham gia đều có thể tìm thấy những người bạn có cùng sở thích và tham gia vào các hoạt động thú vị, tạo nên một không gian giải trí không chỉ về các trò chơi mà còn về mối quan hệ xã hội. Các sự kiện trực tuyến định kỳ, các giải thưởng hấp dẫn và các thử thách mới mẻ khiến cộng đồng One88 luôn sôi động và đầy năng lượng. Điều này giúp tạo ra một môi trường chơi game vừa vui vẻ, vừa mang tính cạnh tranh, khuyến khích người chơi không ngừng phát triển và cải thiện kỹ năng của mình. Cộng đồng mạnh mẽ này còn giúp người chơi cảm thấy thoải mái hơn trong việc chia sẻ những kinh nghiệm, chiến thuật, và tạo nên những kỷ niệm đáng nhớ trong suốt quá trình tham gia.
Bảo mật và an toàn thông tin cũng là một yếu tố mà One88 đặc biệt quan tâm. Nền tảng này áp dụng các công nghệ bảo mật tiên tiến để đảm bảo mọi thông tin cá nhân của người tham gia đều được bảo vệ một cách nghiêm ngặt. Hệ thống mã hóa dữ liệu của One88 giúp ngăn ngừa mọi nguy cơ xâm nhập và bảo vệ thông tin tài khoản người dùng, từ thông tin cá nhân cho đến các giao dịch tài chính. Người chơi có thể hoàn toàn yên tâm khi tham gia vào các trò chơi mà không lo lắng về việc bị đánh cắp thông tin. Hệ thống hỗ trợ khách hàng của One88 cũng hoạt động 24/7, sẵn sàng giải đáp mọi thắc mắc và cung cấp sự hỗ trợ cần thiết cho người tham gia khi có vấn đề phát sinh. Đội ngũ hỗ trợ tận tâm và chuyên nghiệp của One88 luôn sẵn sàng giúp đỡ và tạo điều kiện cho người chơi có một trải nghiệm giải trí hoàn hảo và không gặp phải bất kỳ khó khăn nào. Chính nhờ vào sự kết hợp tuyệt vời giữa các trò chơi sáng tạo, cộng đồng gắn kết và các biện pháp bảo mật cao cấp, One88 không chỉ mang đến một nền tảng giải trí an toàn, mà còn tạo ra những trải nghiệm thú vị và đầy cảm hứng cho người tham gia.
-
@ 9e69e420:d12360c2
2025-01-26 01:31:31Chef's notes
arbitray
- test
- of
- chefs notes
hedding 2
Details
- ⏲️ Prep time: 20
- 🍳 Cook time: 1 hour
- 🍽️ Servings: 5
Ingredients
- Test ingredient
- 2nd test ingredient
Directions
- Bake
- Cool
-
@ ac8bb9b0:70278acc
2024-12-11 20:10:29Details
- ⏲️ Prep time: 15
- 🍳 Cook time: 1 hour 30 minutes
- 🍽️ Servings: 10
Ingredients
- 1 lb. ground beef
- 1 cup celery diced
- 1 cup carrots diced
- 1 medium onion diced
- 2 medium potatoes diced
- 5 cups beef broth
- 1 15 oz. can corn, drained
- 1 8 oz. can tomato sauce
- 1 28 oz. can diced tomatoes
- 1 teaspoon salt
- 1 teaspoon Italian seasoning
- 1 bay leaf
Directions
- In a large dutch oven (I used a 6-quart), over medium heat brown the ground beef until done. Spoon off the excess fat.
- Add the remaining ingredients and stir. Bring to a boil and reduce the heat. Allow to simmer for 1 to 1 ½ hours (with the lid on, but tilted so steam can release) or until the vegetables are tender.
- Remove the bay leaf and serve.
-
@ 9e69e420:d12360c2
2025-01-25 22:16:54President Trump plans to withdraw 20,000 U.S. troops from Europe and expects European allies to contribute financially to the remaining military presence. Reported by ANSA, Trump aims to deliver this message to European leaders since taking office. A European diplomat noted, “the costs cannot be borne solely by American taxpayers.”
The Pentagon hasn't commented yet. Trump has previously sought lower troop levels in Europe and had ordered cuts during his first term. The U.S. currently maintains around 65,000 troops in Europe, with total forces reaching 100,000 since the Ukraine invasion. Trump's new approach may shift military focus to the Pacific amid growing concerns about China.
-
@ dbb19ae0:c3f22d5a
2025-02-21 17:46:58Tested and working with nostr_sdk version 0.39 ``` python from nostr_sdk import Metadata, Client, Keys, Filter, PublicKey from datetime import timedelta import argparse import asyncio import json
async def main(npub): client = Client() await client.add_relay("wss://relay.damus.io") await client.connect() pk = PublicKey.parse(npub) print(f"\nGetting profile metadata for {npub}:") metadata = await client.fetch_metadata(pk, timedelta(seconds=15))
# Printing each field of the Metadata object print(f"Name: {metadata.get_name()}") print(f"Display Name: {metadata.get_display_name()}") print(f"About: {metadata.get_about()}") print(f"Website: {metadata.get_website()}") print(f"Picture: {metadata.get_picture()}") print(f"Banner: {metadata.get_banner()}") print(f"NIP05: {metadata.get_nip05()}") print(f"LUD06: {metadata.get_lud06()}") print(f"LUD16: {metadata.get_lud16()}") #print(f"Custom: {metadata.get_custom()}")
if name == 'main': parser = argparse.ArgumentParser(description='Fetch all metadata for a given npub') parser.add_argument('npub', type=str, help='The npub of the user') args = parser.parse_args() asyncio.run(main(args.npub)) ```
-
@ 6be5cc06:5259daf0
2025-01-21 23:17:29A seguir, veja como instalar e configurar o Privoxy no Pop!_OS.
1. Instalar o Tor e o Privoxy
Abra o terminal e execute:
bash sudo apt update sudo apt install tor privoxy
Explicação:
- Tor: Roteia o tráfego pela rede Tor.
- Privoxy: Proxy avançado que intermedia a conexão entre aplicativos e o Tor.
2. Configurar o Privoxy
Abra o arquivo de configuração do Privoxy:
bash sudo nano /etc/privoxy/config
Navegue até a última linha (atalho:
Ctrl
+/
depoisCtrl
+V
para navegar diretamente até a última linha) e insira:bash forward-socks5 / 127.0.0.1:9050 .
Isso faz com que o Privoxy envie todo o tráfego para o Tor através da porta 9050.
Salve (
CTRL
+O
eEnter
) e feche (CTRL
+X
) o arquivo.
3. Iniciar o Tor e o Privoxy
Agora, inicie e habilite os serviços:
bash sudo systemctl start tor sudo systemctl start privoxy sudo systemctl enable tor sudo systemctl enable privoxy
Explicação:
- start: Inicia os serviços.
- enable: Faz com que iniciem automaticamente ao ligar o PC.
4. Configurar o Navegador Firefox
Para usar a rede Tor com o Firefox:
- Abra o Firefox.
- Acesse Configurações → Configurar conexão.
- Selecione Configuração manual de proxy.
- Configure assim:
- Proxy HTTP:
127.0.0.1
- Porta:
8118
(porta padrão do Privoxy) - Domínio SOCKS (v5):
127.0.0.1
- Porta:
9050
- Proxy HTTP:
- Marque a opção "Usar este proxy também em HTTPS".
- Clique em OK.
5. Verificar a Conexão com o Tor
Abra o navegador e acesse:
text https://check.torproject.org/
Se aparecer a mensagem "Congratulations. This browser is configured to use Tor.", a configuração está correta.
Dicas Extras
- Privoxy pode ser ajustado para bloquear anúncios e rastreadores.
- Outros aplicativos também podem ser configurados para usar o Privoxy.
-
@ dd1f9d50:06113a21
2025-02-05 01:48:55(Because Most People Don’t Understand Money)
The requisite knowledge needed to know whether $100 or $100,000 per Bitcoin is relatively speaking “a lot,” is what value means. One way to measure value is through a universal yardstick we call “Money.” The question of “What is money?” is perhaps one of the most overlooked and under answered in our day and age. There is even an entire podcast dedicated to that question with the eponymous title, hosted by Robert Breedlove. That podcast often delves into the more philosophical underpinnings whereas I hope to approach this with a more practical answer.
Money is a technology.
Money is the technology with which we interact with one another to reorganize goods and services to the place and time they are best suited. Most money of the past has been tangible (though not a requisite feature), scarce, recognizable (read: verifiable), durable, portable, and divisible. These features one might call the “Attributes of Money.” These attributes are absolutely essential for a money to maintain its status as a money. (Those of you who understand the U.S. Dollar system maybe scratching your heads right now but, believe me, I will address that elephant in due time.) These attributes, you may notice, are not a yes or no but more of a gradient. A money can be MORE portable than another yet, less durable. One more divisible but not scarce whatsoever. The point being they must have, in some capacity, these attributes or they simply aren’t money.
One of These Things is Not Like the Other
| | Bitcoin | Gold | Dollars | |-----------------|:----------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------:| | Scarcity | 21 million coins
is the maximum supply | Unknown- the
supply grows roughly 2% per year | Also unknown to anyone outside of the Federal Reserve, Trillions and counting | | Recognizability | Each coin is verifiable to it's genesis on the timechain | Each molecule of gold has distinct physical verifiable properties | If the Federal reserve says it is a valid note, it is (Unless you are an enemy of the United States) | | Durablility | Each "Bitcoin" is information stored on a globally distributed network | Doesn't Rust and as far as can be measured Au197 is stable forever | Can be destroyed by any means that effect fabric and centralized databases | | Portability | Available wherever data can be store- Anywhere | Can be moved at 9.81 Newtons per Kilogram- Methods may vary | Can be moved physically with fabric notes- Digitally with express permission from a US accredited banking institution | | Divisibility | Currently can be divided into 100 million parts called Sats (can be further subdivided by adding decimal places) | Can be divided to the Atomic level (Though not practical) | Can be divided (without dilution) by adding new denominative bills or coinage
Can be divided (with dilution) by printing new bills or coinage | | | Bitcoin | Gold | Dollars |You may think with all of the great functionality of Bitcoin that the phrase "One of these things is not like the other" refers to BTC. No, I was referring to the Dollar. It is the only one on the list that was a currency that was substituted as some kind of faux money. It asserts itself, or rather the Federal Reserve asserts it, as money, de facto.
Dollars are NOT money.
Dollars are (allegedly) a currency. If money is a specific technology, currency is the financial infrastructure that allows that technology to reach and be used by the most number of people possible. This requires a firm tether between the asset being used as money and the currency used as a claim to that money. For example: If I hand you a chicken, you have a chicken. But, if I hand you a coupon that is redeemable for a chicken, you do not have a chicken. You have a claim to a chicken that is only as good as the party making that claim. Bringing it back to money again, dollars (Prior to 1971) were redeemable for gold at a rate of $35 per ounce. This is that strong tether that pegged dollars to gold and physical reality itself. Without a proof of work, mining, . Until…
WTF Happened in 1971?
The Nixon shock happened. Briefly, The U.S. took in Europe’s gold in the 1940’s to keep it out of Hitler’s hands. The U.S. made an agreement to peg the dollar to Europe’s gold. The U.S. over printed dollars in relation to the gold holdings. Around 1971 France (among others) called the U.S. out for devaluing the dollar and thus European currencies. So, Nixon “Temporarily” suspended the convertibility of dollars to gold. Now, here we all are like Wile E. Coyote having run off of the golden cliff clutching our dollars in our arms and 54 years later we still haven’t looked down to see the truth.
Dollars Aren’t Backed by Anything
This is why no country in the world today has a money standard. Seemingly they all forgot the number one rule of issuing currency, it must be backed by something. Now, you may hear dollar proponents say “The U.S. dollar is backed by the full faith and credit of the United States!” Another way of saying that is, “We said it is worth something, so it is!” This fiat (by decree) mentality creates a plethora of perverse incentives. The ever growing supply disallows users of the Dollar to save without inccuring the penalties of inflation.
Just a Few Examples of How You're Being Crushed
Because your dollar loses value:
- It pushes people to spend them on assets that seem to appreciate (as the dollar debases) but are truly staying stagnant.
- It pushes people to gamble on securities hoping the perceived value is enough to beat the inflationary curve.
- It pushes people away from saving for their future and the future of their families.
- It creates insane credit incentives so that people borrow way more than they can afford today knowing that dollars will be cheaper in the future. (Effectively a short position)
- It pushes people to spend less and less time making and maintaining their families as it becomes more expensive to keep a similar lifestyle to which it was founded.
These are just a few of the terrible consequences of not knowing that trading a currency with no monetary backing has on a society. Most may blame this soley on the ability to print currency by a central bank but, that is not the only factor. If the fed printed dollars against gold, people would simply take the best rate they could get and remonetize themselves with the gold. But because there is no monetary escape hatch guaranteed by the issuance of dollars, I.E. no one has to take your dollars in exchange for their Bitcoin or gold, you are left at the mercy of the market.
One Day, People Will Stop Accepting Your Dollars
Those lementing the high price of Bitcoin might want to thank their lucky stars that Bitcoin still has a rational number next to the "BTC 1=$?" sign. One day you will have to exchange something of actual value to the spender (no longer a seller). Your product, good or service, will be the only thing that anyone might be willing to part with their Bitcoin over. That is what makes a money, the most salable non-consumable good, whose only funtion is to back a financial structure that facilitates trade.
Bitcoin is Capital
Capital is a broad term that can describe anything that confers value or benefit to its owners, such as a factory and its machinery, or the financial assets of a business or an individual. Bitcoin being the latter creates the financial structures from which you build upon. You use capital to hold, transfer, and grow value. You do not do this with cash. Cash is a depreciating asset when you don't use it to gain goods or services for yourself or your business. This misconception around the equivalance between cash and money (financial capital) is what tricks people into believing Dollars are money. And what's worse is that even some of our greatest heroes have done this.
Slay Your Heroes, Within Reason
Unfortunately due to a mixing of verbiage that have very distinct differences, the title: "Bitcoin: A Peer-to-Peer Electronic Cash System" is technically inaccurate. Bitcoin doesn't fit the definition of cash, which is a liquid asset that can be easily converted into its equivalent value. In short, Satoshi misspoke. In reality, owning Bitcoin UTXOs (with private keys) means you already possess the asset, not just a claim to it. When you spend Bitcoin, the recipient receives the actual asset, not a promise of it. When you receive Bitcoin, you have final settlement on that transaction. Fundamentally Bitcoin is not cash, electronic or otherwise.
Bitcoin is Money.
-
@ 6e0ea5d6:0327f353
2025-02-21 17:01:17Your father may have warned you when he saw you hanging out with bad company: "Remember, you become your friends."
A maxim from Goethe conveys this idea even better: "Tell me who you walk with, and I’ll tell you who you are."
Be mindful of who you allow into your life—not as an arrogant snob, but as someone striving to cultivate the best possible life.
Ask yourself about the people you know and spend time with: Are they making me better? Do they encourage me to move forward and hold me accountable? Or do they drag me down to their level?
Now, with that in mind, ask yourself the most important question: Should I spend more or less time with these people?
The second part of Goethe's quote reminds us of what is at stake in this choice:
"If I know how you spend your time," he said, "then I know what you may become."
"Above all, keep this in mind: never get so attached to your old friends and acquaintances that you are dragged down to their level. If you do not, you will be ruined. [...] You must choose whether you want to be loved by these friends and remain the same or become a better person at the expense of those associations. [...] If you try to do both, you will never make progress nor retain what you once had."
—Epictetus, Discourses
📌 "Remember that if you join someone covered in dirt, you can hardly avoid getting a little dirty yourself."
—Epictetus, Discourses
📚 (Excerpt from The Daily Stoic by Ryan Holiday)
Thank you for reading, my friend! If this message helped you in any way, consider leaving your glass “🥃” as a token of appreciation.
A toast to our family!
-
@ 16d11430:61640947
2025-01-21 20:40:22In a world drowning in Monopoly money, where people celebrate government-mandated inflation as "economic growth," it takes a special kind of clarity—nay, cynicism—to rise above the fiat circus. This is your guide to shedding your fiat f**ks and embracing the serene chaos of sound money, all while laughing at the absurdity of a world gone fiat-mad.
- Don’t Feed the Clowns
You know the clowns I’m talking about: central bankers in their tailored suits and smug smirks, wielding "tools" like interest rates and quantitative easing. Their tools are as real as a magician's wand, conjuring trillions of dollars out of thin air to keep their Ponzi economy afloat.
Rule #1: Don’t engage. If a clown offers you a hot take about the "strength of the dollar," smile, nod, and silently wonder how many cups of coffee their paycheck buys this month. Spoiler: fewer than last month.
- Turn Off the Fiat News
Do you really need another breathless headline about the next trillion-dollar deficit? Or the latest clickbait on why you should care about the stock market's emotional rollercoaster? Mainstream media exists to distract you, to keep you tethered to their illusion of importance.
Turn it off. Replace it with something sound, like the Bitcoin whitepaper. Or Nietzsche. At least Nietzsche knew we were doomed.
- Mock Their Inflationary Gospel
Fiat apologists will tell you that inflation is "necessary" and that 2% a year is a "healthy target." Sure, because a little robbery every year keeps society functioning, right? Ask them this: "If 2% is healthy, why not 20%? Why not 200%? Why not Venezuela?"
Fiat logic is like a bad acid trip: entertaining at first, but it quickly spirals into existential horror.
- Celebrate the Fiat Freakshow
Sometimes, the best way to resist the fiat clown show is to revel in its absurdity. Watch politicians print money like teenagers running up a credit card bill at Hot Topic, then watch the economists applaud it as "stimulus." It’s performance art, really. Andy Warhol could never.
- Build in the Chaos
While the fiat world burns, Bitcoiners build. This is the ultimate "not giving a fiat f**k" move: creating a parallel economy, one satoshi at a time. Run your Lightning node, stack sats, and laugh as the fiat circus consumes itself in a flaming pile of its own debt.
Let them argue about who gets to rearrange the deck chairs on the Titanic. You’re busy designing lifeboats.
- Adopt a Fiat-Free Lifestyle
Fiat-free living means minimizing your entanglement with their clown currency. Buy meat, not ETFs. Trade skills, not IOUs. Tip your barber in Bitcoin and ask if your landlord accepts Lightning. If they say no, chuckle and say, “You’ll learn soon enough.”
Every satoshi spent in the real economy is a slap in the face to the fiat overlords.
- Find the Humor in Collapse
Here’s the thing: the fiat system is unsustainable. You know it, I know it, even the clowns know it. The whole charade is destined to collapse under its own weight. When it does, find solace in the absurdity of it all.
Imagine the central bankers explaining hyperinflation to the public: "Turns out we can't print infinity after all." Pure comedy gold.
- Stay Ruthlessly Optimistic
Despite the doom and gloom, there’s hope. Bitcoin is hope. It’s the lifeboat for humanity, the cheat code to escape the fiat matrix. Cynicism doesn’t mean nihilism; it means seeing the rot for what it is and choosing to build something better.
So, don’t just reject the fiat clown show—replace it. Create a world where money is sound, transactions are sovereign, and wealth is measured in energy, not debt.
Final Thought: Burn the Tent Down
Aldous Huxley once envisioned a dystopia where people are so distracted by their own hedonistic consumption that they don’t realize they’re enslaved. Sound familiar? The fiat clown show is Brave New World on steroids, a spectacle designed to keep you pacified while your wealth evaporates.
But here’s the punchline: they can only enslave you if you care. By rejecting their system, you strip them of their power. So let them juggle their debts, inflate their bubbles, and print their trillions. You’ve got Bitcoin, and Bitcoin doesn’t give a fiat f**k.
Welcome to the satirical resistance. Now go stack some sats.
-
@ f0c7506b:9ead75b8
2024-12-08 09:05:13Yalnızca güçlü olanların hakkıdır yaşamak.
Güçlü olan ileri gider ve saflar seyrekleşir. Ama üç beş büyük, güçlü ve tanrısal kişi güneşli ve aydınlık gözleriyle o yeni, o vaat edilmiş ülkeye ulaşacaktır. Belki binlerce yıl sonra ancak. Ve güçlü, adaleli, hükmetmek için yaratılmış elleriyle hastaların, zayıfların ve sakatların ölüleri üzerinde bir krallık kuracaklardır. Bir krallık!
Benim aradığım insanların kendileri değil, sesleridir.
Duyguları körelmiş, çeşitli düşüncelere saplanmış kalabalık hiçbir zaman ilerlemenin taşıyıcısı olamaz, kendi küçüklüğünün o küflü içgüdüsüyle kalabalığın kin ve nefretle baktığı bir kişi, bir büyük kişi, iradesinin gösterdiği yolda kimsenin gözünün yaşına bakmaksızın ilahi bir güç ve bir zafer gülümsemesiyle yürüyebilir ancak.
Bizim soyumuz da sonsuz oluşum piramidinin doruk noktasını oluşturmaktan uzaktır. Bizler de mükemmelliğe ulaşmış değiliz. Bizler de henüz olgunlaşmadık.
Şairler sevgiye övgüler döşenir; doğrusu sevginin güçlü bir şey olduğu kesin. Hüneşin bir ışınıdır sevgi, aydınlatıp nurlandırır insanı der bazıları; bazıları da insanı esrikliğe sürükleyen bir zehri kendisinde barındırdığını söyler. Gerçekten de yol açtığı sonuçlar, bir hekimin ağır bir ameliyattan önce korkudan titreyen hastaya teneffüs ettirdiği güldürücü gazınkine benzer, içinde tepinip duran acıyı unutturur hastaya.
Önemli olan, hayatta hiç değilse bir kez kutsal bir ilkbaharın yaşanmasıdır; öyle bir bahar ki, insanın gönlünü ilerideki bütün günleri altın yaldızla kaplamaya yetecek kadar ışık ve parıltıyla doldursun.
Şu hayat denen şey kötü bir işçiliğin ürünü, acemilere göre bir şey. Bu kepaze yaşam uğruna insan nelere katlanmıyor ki!
Kendisine sadakatten ayrılmadığı, yalnızca kendisinin olan bir tek bu var: Yalnızlığı.
Sahildeki üstü tenteli hasır koltuklar arkasındaki yüksek, sessiz kum tepeleri içinde yürürsen, tenteler altındaki insanları göremezsin; ama birinin bir diğerine seslendiğini, bir başkasının gevezelik ettiğini, bir ötekinin güldüğünü işitir ve anlarsın hemen: bu insan şöyle şöyle biridir diyebilirsin. Onun hayatı sevdiğini, bağrında büyük bir özlem ya da acı barındırdığını, bu acının da sesini ağlamaklı kıldığını her gülüşünde hissedersin.
-
@ e7bc35f8:3ed2a7cf
2025-02-21 16:57:49With all these decades and - in the case of the oldest democracies - centuries of broken political promises, you’d think that the public would have caught on to the game by now. But no. Still expecting political saviours.
Every election cycle, the public hears how this politician will deliver the nation from its economic woes or that politician will restore a country to its former greatness.
In 1916, Woodrow Wilson was re-elected as president of the United States on the back of his popular campaign slogan, "He Kept Us Out of War". But like all of the presumptive political saviours of the democratic age - in which popularity contests determine who seizes power and the public is swayed by the nicest sounding promises - Wilson, too, promptly broke his word. Just five months after his re-election, he oversaw US entry into the First World War and gave his now-famous speech assuring the public that getting the US into war was necessary to make the world "safe for democracy".
Similarly, Lyndon B. Johnson won election in 1964 promising to limit America’s involvement in Vietnam. "Some others are eager to enlarge the conflict. They call upon us to supply American boys to do the job that Asian boys should do". But this, too, was just another swiftly broken promise by yet another political "saviour". "Air action is now in execution against gunboats and certain supporting facilities in North Vietnam".
Laughably, even George W. Bush "won" the election in 2000 promising a humble American foreign policy and a vow to only fight short, winnable wars with well-defined objectives.
GEORGE W. BUSH:
But I’m gonna be judicious as to how to use the military. It needs to be in our vital interest, the mission needs to be clear and the exit strategy obvious.
BUSH:
On my orders, coalition forces have begun [sic] striking selected targets of military importance to undermine Saddam Hussein’s ability to wage war.
But this pattern is not just about war and it is not specific to any particular country. Throughout the world, politicians have won elections promising to deliver the inherently undeliverable. What Australian could forget, for example, Bob Hawke’s promise to eliminate child poverty in three years?
And what Greek could forget when Alexis Tsipras was swept to power with a strong populist mandate to stand up to the European Union in the midst of the sovereign debt crisis. Instead, Tsipras immediately sold the nation further into debt by accepting the terms of a punishing €85bn "bailout" package that even Syriza’s own members called a betrayal of the party’s promises.
In 2008, this endlessly escalating wave of political insanity seemed to reach a crescendo as it dashed upon the shores of the presidential campaign of Barack Obama.
B. OBAMA:
There’s something happening when people vote not just for party that they belong to but the votes . . . the hopes that they hold in common. [. . .] We are ready to take this country in a fundamentally new direction. That’s what’s happening in America right now. Change is what’s happening in America!
It may seem ridiculous in 2021 that the mere words "Yes We Can" and "Hope and Change" could have sold not just the American voters but the people of the world on Barack Hussein Obama, a junior US senator whose greatest legislative accomplishment up to that point was sponsoring a bill to rename a post office in Illinois. But, in hindsight, that was exactly what was so effective about the entire "hope and change" campaign. After eight years of neocon carnage - amid the tumult of the ongoing fiasco in Iraq, in the shadow of the rising police state at home, and in the face of the revelations of corporate accounting fraud and banking malfeasance that culminated in a global financial crisis - the public was desperately hoping for change.
We will remember that there is something happening in America. That we are not as divided as our politics suggest. That we are one people. We are one nation. And together we will begin the next great chapter in the American story with three words that will ring from coast to coast from sea to shining sea: "Yes We Can!" Thank you, New Hampshire. Thank you!
It didn’t matter that Obama, like every other con man to swindle the majority of the population in the great popularity contest we call democracy, lied about every one of his major campaign promises. It didn’t matter that he lied about closing Guantanamo. It didn’t matter that he lied about ending the war of terror.
And that is why as president I will make the fight against Al Qaeda and the Taliban the top priority that it should be.
The Obama administration knowingly gave US taxpayer dollars to an al Qaeda affiliate in Sudan, a joint i24 News – Middle East Forum investigation reveals.
It didn’t matter that he lied about ending the illegal wiretapping of Americans.
OBAMA:
This administration also puts forward a false choice between the liberties we cherish and the security we provide. I will provide our intelligence and law enforcement agencies with the tools they need to track and take out the terrorists without undermining our Constitution and our freedom. That means no more illegal wiretapping of American citizens.
OBAMA:
I came in with a healthy skepticism about these programs. My team evaluated them. We scrubbed them thoroughly. We actually expanded some of the oversight, increased some of the safeguards. But my assessment and my team’s assessment was that they help us prevent terrorist attacks.
None of his broken promises matter, because it was never about any actual, concrete action. If the mass hysteria that swept over the public in 2008 was about achieving tangible results, the Nobel Committee would not have awarded Obama the Nobel Peace Prize less than one year into his first term in office, while he was still waging wars in Afghanistan and Iraq and expanding Bush’s drone war into Pakistan.
No, it was never about action. It was about providing the audience of the political spectacle the scene that they were waiting for. The next political messiah is wheeled onto the stage, he waves his hand and makes everything better, and everyone goes back to their daily struggles for the next four years. The ritual is complete.
Indeed, after thousands of years in which heads of state were worshipped as literal gods on earth or, more recently, as divine appointees, it should come as no surprise that popular presidents and prime ministers are almost always portrayed with recourse to religious iconography. The common trope of photographing presidents with the "halo" of the presidential seal around them is nothing new.
But even taking that history into account, the religious frenzy that Obama’s appearance on the national political stage caused was, in retrospect, undeniably strange.
OBAMA:
Who is Barack Obama? Contrary to the rumors that you’ve heard, I was not born in a manger. I was actually born on Krypton and sent here by my father Jor-El to save the planet Earth.
In the hysteria of the 2008 campaign, Obama wasn’t received by the public as a political candidate with a series of policy prescriptions for improving the country. He was the god from the machine, the deus ex machina who could appear on stage and bless everyone with his absolution. Obama was not just Superman but the God of All Things, a Heaven-Sent shining New Hope bathed in angelic light who was the literal Second Coming.
First of all, give an honour to God and our Lord and Savior, Barack Obama!
And by the time the public finally snapped from their reverie and realized that, after all, Obama was just another politician...
The former director of the Norwegian Nobel Institute says he regrets awarding the Nobel Peace Prize to President Barack Obama in 2009.
He lied! It’s not subtle, He said “There will be no spying on citizens who are not suspected of a crime.” He lied. There is spying on all of us and we’re not suspected of a crime. Barack Obama is a liar! Can I make it clearer?
Obama had already served his role as the next political saviour and, having served that function, he could be discarded like yesterday’s newspaper. For those who believed that the 2008 campaign was the apotheosis of the Hope and Change routine, this was the end of the line for this political charade. Looking at the process from a rational perspective, one could be forgiven for thinking that the public had learned its lesson and that no politician would be able to bamboozle the public like that again as long as the Obama legacy was in living memory. 👉 But this is not a rational process, and those who believed that could not have been more wrong.
Lest there be any confusion that the public was being prepared for another deus ex machina ritual, this time the god descended onto the political stage via a literal machine, a golden escalator. And, from his dais, this god, too, brought good tidings to the cheering crowd: the country is saved once again!
Ladies and gentlemen, I am officially running for President of the United States and we are going to make our country great again!
The next day, it was revealed that the scene was a literal stage play. The adoring crowd were not grassroots supporters of Donald Trump who all spontaneously decided to wear the same Trump t-shirts and awkwardly pose with their "homemade" signs for the cameras, but, as an FEC investigation later confirmed, literal actors paid $50 each by the Extra Mile Casting agency on behalf of their client, Gotham Government Relations & Communications.
But it didn’t matter. Like all the iterations of the President Messiah script that came before, Trump’s Make America Great Again psychodrama was already having its intended effect on the population. In some ways, MAGA was a mere repeat of the Obama Hope and Change template. Here, too, candidate Trump promised the moon that President Trump steadfastly failed to deliver.
He | did not I drain I the I swamp.
He did not stand up to medical-industrial complex.
And, like the Obamessiah, Trump, too, took on the role of divine redeemer of the nation, second only to Christ himself.
Trump (Trump assured us) was loved by the Jewish people in Israel like the "second coming of God". And once again the president was being portrayed as "heaven-sent", a man chosen by God Himself to lead America back to the promised land.
RICK PERRY:
And I shared it with him. I said, Mr. President, I know there are people that say you said you were the chosen one and I said, "You were." I said, "If you’re a believing Christian, you understand God’s plan for the people who rule and judge over us on this planet in our government.
ED HENRY:
And lest people on the left attack Rick Perry, he pointed out to me he believes Barack Obama was sent by God as well. He said for that moment and that time. He said he thinks for this moment and this time, Donald Trump was sent by God to do great things.
Or, as the internet users who helped build the momentum for the Trump train during the 2016 campaign put it in their popular meme, Trump was the God Emperor, a GEOTUS who would smite the wicked and own the libs.
Yes, the Trump script seemed to be a mere rehash of the Obama script. But it was not. You see, this was not the same plot as Hope and Change. Make America Great Again had a more exciting storyline. In the MAGA stage play, the god from the machine was himself in trouble and needed saving from the powerful, evil forces that were ganging up against him. And this time, the god himself would be saved by his own god from a machine. This script involved an incredible double deus ex machina!
The god that would save God Emperor Trump, however, was not a political figure at all, but a shadowy, anonymous entity. And the machine that delivered him was not a golden escalator, but an online message board.
The "Q Anon" phenomenon began on October 28, 2017, when "Q" - a user of the "politically incorrect" board of 4chan, the anonymous imageboard website - made a post claiming that a massive military operation was underway to arrest Hillary Clinton and bring down the cabal of evil politicians that was filling the swamp of Washington.
Within days, the anonymous poster was assuring his 4chan followers of the imminent indictment of Clinton campaign insiders John Podesta and Huma Abedin. And on November 2nd, less than a week after the initial post, the poster was calling himself "Q Clearance Patriot" and claiming that "over the course of the next several days you will undoubtedly realize that we are taking back our great country".
In every way, these early "Q Drops" exemplify the QAnon phenomenon that it spawned. They pick up on the language and code words of classified government operations, like "Mockingbird" and "Q clearance". They pretend to impart insider information about high-level political events, even predicting specific events on specific dates, like the arrest announcement of Podesta and the beginning of a military coup. And they pose a series of vague rhetorical questions ("Why does Potus surround himself w/ generals? What is military intelligence? Why go around the 3 letter agencies?") that feel important without providing any specific knowledge or insight.
As Q’s notoriety grew, so, too, did the grandiosity of his predictions, promises and pronouncements. Followers were told to expect "False flag(s)" and that there would be "fireworks" but that the president would be "100% insulated". They were exhorted to "TRUST [Attorney General Jeff] SESSIONS" and assured that Feb. 1, 2018, would be the "[D]ay [Of] [D]ays". They were promised a "parade that will never be forgotten" on November 11th of 2018. They were assured that Mark Zuckerberg was stepping down as chairman of Facebook. July 2018 would be the month "the world discovered the TRUTH", with Q asserting that there would be "conspiracy no more".
Of course, every one of these pronouncements was categorically wrong. But, as Q taught his followers to believe, "Disinformation is real" and "Disinformation is necessary", so these false predictions were in fact signs that Q was telling the truth. It didn’t make sense. It didn’t have to. All it had to do was fill the viewers of the unfolding political spectacle with hopium, the belief that this new god from the machine was going to swoop in with his Q Clearance compatriots and save the day at the last moment.
Remarkably, that belief persisted even after the last moment. 🔸Q Anon Posts Debate & Discussion With Praying Medic [Rare Interview & Question] 🔸ACTUAL INTERVEIW [sic] Dr Steve Pieczenik DHS watermarked every ballot with QFS Blockchain Encryption 🔸HELLSCAPE: 72 HOURS TO SAVE THE REPUBLIC 🔸EP. 2501B – TRAP SET, THESE PEOPLE ARE STUPID, DO YOU SEE THE STORM FORMING,PANIC IN DC
It is not hard to see why Q became so popular. Like every good deus ex machina, Q promised to deliver the audience of the current political drama exactly what they wanted: an entertaining, exciting and satisfying resolution to the play, delivering the hero (Trump) from evil (the Democrats) just in the nick of time. It is not coincidence that "Enjoy the show" and "Get the popcorn" became favourite phrases of Q and the QAnon followers. This was, after all, just that: a show. A scripted drama designed to play on the psyche of the audience.
The clue comes in Q’s constant exhortations for his follower to trust. 🔸Trust Sessions. 🔸Trust Grassley. 🔸Trust POTUS. 🔸 Trust the plan.
The terminology - as well as the methodology - of the Q operation evokes Operation Trust, a Soviet counterintelligence program in the 1920s that took over a pro-monarchist organization, the "Monarchist Union of Central Russia". The Soviets used operatives within the organization to persuade members that they should not engage in militant activity against the government because a plan was underway for internal anti-Bolshevik forces to topple the regime. Trust the plan.
In this case, "trusting the plan" got members of the opposition either put on trial and sent to the gulags or blackmailed into working for Soviet intelligence.
Q certainly did pacify many with his constant entreaty to "trust the plan". Q also rallied people time and time again to support the policies, operations and personnel of the very deep state that they were supposedly fighting against. Suddenly Jeff Sessions, Bill Barr, John Bolton and other long-time members of the political establishment were the good guys in this elaborate drama. 99% of the agents at the CIA, FBI, DOJ and NSA were "patriots" who "serve[d] with distinction" and thus needed to be supported. The decades-long neocon dream of invading Iran became, in the eyes of Q followers, a good and noble cause.
But even beyond the pacification of those who would otherwise be resisting the government, the "Q Army" of self-styled "Digital soldiers" provided the very foil that the deep state needed to move to the next step of their counter-insurgency program: The crackdown on "domestic terrorism".
🔸FBI Warns Of Potential For More Violence From QAnon Followers 🔸FBI warns conspiracy theories fuel domestic terrorism 🔸Former CIA official Jeremy Bash, now of NBC News 🔸A Message from President Donald J. Trump
After years of being told to "get the popcorn" and "enjoy the show", the Q Anon movement slowly began to realize that they were had. Worse, the very intelligence agencies and military that they had so fervently hoped would swoop in and save the day are the very agencies that were swooping in to round them up. But QAnon was by no means the first time that hopium has been injected into the veins of the "conspiracy research community".
In the 1990s, a power industry teaching consultant named Harvey Francis Barnard developed a proposed set of reforms for America’s monetary and tax system that he called the National Economic Security and Recovery Act, or NESARA. He self-published a book outlining his proposal, sent copies to members of Congress, started an institute to promote the idea and, in 2000, published his proposal on the internet. At that point, NESARA became the centerpiece of an elaborate hoax promulgated by an online charlatan calling herself "The Dove of Oneness". In this story, the NESARA bill is a miracle: it abolishes income taxes, forgives mortgages, zeroes out credit cards and declares peace. Even more miraculous: in a stunning move only known to The Dove of Oneness, the bill had been secretly passed by Congress and was due to take effect on September 11, 2001, which is why the World Trade Center was destroyed. But, like every good drama, this story, too, had a deus ex machina to keep Dove’s internet audience hanging on and enjoying the show: the White Knights, "an underground group of good guys [. . .] who were in high positions within all these institutions, who were fed up with the status quo and were planning a coup d’état that was going to happen ‘very soon.'"
Just as with Q, the cult that grew around the NESARA myth with its White Knight gods from the machine promised specific events on specific dates. Every time a prediction failed to happen, followers were reassured that the long-promised coup had been delayed so that the White Knights could better prepare the public for the pandemonium that would ensue when they swoop in to save the day. In the meantime, followers could get the popcorn and enjoy the show, knowing that all their debt would soon be forgiven and that peace on earth was just around the corner. And the name of that book in which Barnard first laid out his NESARA proposal? 👉 Draining The Swamp.
Yes, the deus ex machina story is trotted out every few years under different guises. A secret order of ninjas is preparing to assassinate the evil Illuminati and bring peace to the world. A secret stash of trillions of dollars is about to be shared out with the people of the world, ending all poverty. A cosmic realignment is going to take place on December 21st, 2012, raising humanity to a higher level of consciousness and ending all strife and suffering. An anonymous 4chan poster is leaking classified information about a good military coup that’s going to restore order and drain the swamp. The incredible Trump's X-Men.
The message is always the same: Get the popcorn and enjoy the show. The god is coming from the machine to save you. Just wait. Over and over we see the same story play out. The crowd begins to lose interest in the political stage play. They begin to suspect that it’s fake. That reality is taking place somewhere off stage and out of sight. They begin to realize that they are not spectators at all, but active participants with the ability to shape the world around them. And then along comes a god from a machine peddling hopium and the audience goes back to enjoying the show.
None of this is to denigrate the religious instinct that compels humans to look for a saviour from the heavens. On the contrary. Those with religious faith should be the most offended by this god from the machine script that sees their most cherished, divine beliefs cynically played on by would-be political rulers masquerading as gods.
Now, we must not abandon hope itself. As part of the triumvirate of faith, hope and charity, hope is a virtue to be cherished. Genuine hope is the rocket fuel that humans use to propel themselves towards their goals. Without hope, there would be no motivation to do anything to improve our situation. But that is the difference. Hope compels us to go out there and try to improve our situation. Fake hopes, on the other hand, convinces us that someone else has taken care of the problem. That we can just sit back, get the popcorn and enjoy the show. Like the dope peddler on the street corner, the politicians and hucksters are always ready to satisfy their mark with a dose of false hopes. And the public, more often than not, is only too happy to take it.
But fake hope is a deadly drug, and the god from the machine is nothing but a cheap stage trick. Nothing will change until we stop enjoying the show and realize that we are not spectators watching history unfold from the sidelines. We are history’s actors, and, propelled by genuine hope, we can and will change the world.
-
@ 378562cd:a6fc6773
2025-02-21 16:55:39Hiking in nature is more than just a leisurely activity—it’s a powerful way to boost physical health, mental well-being, and overall quality of life. Whether you’re trekking through lush forests, climbing rugged mountains, or strolling along a peaceful riverbank (which we really love doing), the benefits of hiking are undeniable.
Here are some points to think about along these lines.
Physical Health Benefits
- Strengthens muscles and improves cardiovascular health
- Enhances balance, coordination, and endurance
- Supports bone density and joint health
- Burns calories and aids in weight management
Mental and Emotional Well-Being
- Reduces stress, anxiety, and depression
- Increases endorphin levels, boosting mood and relaxation
- Improves focus, creativity, and cognitive function
- Encourages mindfulness and mental clarity
Connection with Nature
- Provides an escape from screens and digital distractions
- Encourages appreciation for the environment and wildlife
- Helps regulate sleep cycles by syncing with natural light
- Instills a sense of peace and awe
Social and Personal Growth
- Strengthens relationships when hiking with friends or family
- Encourages teamwork and problem-solving on group hikes
- Builds confidence and resilience for solo hikers
- Creates lasting memories and a sense of accomplishment
A Typical Day on the Trail
A day of hiking often starts with an early morning wake-up, packing essentials like water, snacks, and a map (if you're old-fashioned like me, LOL). After reaching the trailhead, the journey begins with fresh air, birds singing, and the crunch of dirt underfoot. You might stop to admire a stunning viewpoint, take photos of wildflowers, or rest beside a babbling stream. Lunch could be a simple picnic with a breathtaking backdrop. As the afternoon sun filters through the trees, you finish the hike feeling refreshed, accomplished, and ready to do it all again.
We love to go hiking, and I'm no expert, but when I take the time to get us out there somewhere and the weather is wonderful, it just adds up to an amazing day!
Whether you're a beginner or an experienced hiker, exploring nature on foot provides countless benefits for both body and mind. It’s an accessible, enjoyable, and fulfilling way to stay healthy while reconnecting with the natural world. So, lace up your hiking boots, hit the trails, and experience the transformative power of hiking in nature!
-
@ 9e69e420:d12360c2
2025-01-21 19:31:48Oregano oil is a potent natural compound that offers numerous scientifically-supported health benefits.
Active Compounds
The oil's therapeutic properties stem from its key bioactive components: - Carvacrol and thymol (primary active compounds) - Polyphenols and other antioxidant
Antimicrobial Properties
Bacterial Protection The oil demonstrates powerful antibacterial effects, even against antibiotic-resistant strains like MRSA and other harmful bacteria. Studies show it effectively inactivates various pathogenic bacteria without developing resistance.
Antifungal Effects It effectively combats fungal infections, particularly Candida-related conditions like oral thrush, athlete's foot, and nail infections.
Digestive Health Benefits
Oregano oil supports digestive wellness by: - Promoting gastric juice secretion and enzyme production - Helping treat Small Intestinal Bacterial Overgrowth (SIBO) - Managing digestive discomfort, bloating, and IBS symptoms
Anti-inflammatory and Antioxidant Effects
The oil provides significant protective benefits through: - Powerful antioxidant activity that fights free radicals - Reduction of inflammatory markers in the body - Protection against oxidative stress-related conditions
Respiratory Support
It aids respiratory health by: - Loosening mucus and phlegm - Suppressing coughs and throat irritation - Supporting overall respiratory tract function
Additional Benefits
Skin Health - Improves conditions like psoriasis, acne, and eczema - Supports wound healing through antibacterial action - Provides anti-aging benefits through antioxidant properties
Cardiovascular Health Studies show oregano oil may help: - Reduce LDL (bad) cholesterol levels - Support overall heart health
Pain Management The oil demonstrates effectiveness in: - Reducing inflammation-related pain - Managing muscle discomfort - Providing topical pain relief
Safety Note
While oregano oil is generally safe, it's highly concentrated and should be properly diluted before use Consult a healthcare provider before starting supplementation, especially if taking other medications.
-
@ 65912a7a:5dc638bf
2024-12-08 05:33:02Chef's notes
This is my late partner's award winning Cajun rice & beans recipe. It's an updated take on the traditional Cajun comfort food.
Chef Darin was a classically trained chef who spent 30+ years in the kitchen perfecting his recipes, and delivering authentic Cajun and Creole food to his patrons. This is a 5-star dish that will earn the respect of the most discerning Cajun afficionado. You won't be disappointed.
I suggest making this recipe exactly as directed the first time, and then make whatever adjustments you want for future batches. Also, don't cheap out on the Andouille. No Johnsonville or Hillshire Farms. Chef Aidelle's is a good choice, as is Silva's from Whole Foods. They cost a few extra bucks, but it's absolutely worth it.
Details
- ⏲️ Prep time: 30 min
- 🍳 Cook time: 3 hours
- 🍽️ Servings: 12
Ingredients
- 16oz small red beans, dry
- 2 cups long grain white rice
- 14-16oz andouille sausage, sliced
- 8oz ham, cubed
- 1 large yellow onion, chopped
- 1 green bell pepper, chopped
- 2-3 stalks celery, chopped
- 2 tbsp garlic (12 cloves), minced
- 7 cups water
- ¼ cup olive oil
- 2 large bay leaves
- 1 tbsp parsley, dried
- 1 tsp thyme, dried
- 1 tsp Cajun seasoning
- ½ tsp cayenne pepper, dried
- ¼ tsp sage, rubbed
- 1½ tsp salt (more or less to taste)
Directions
- Soak beans in a large pot of water overnight.
- Heat oil in a large stockpot over medium heat. Cook onion, bell pepper, celery, garlic in olive oil for 3 to 4 minutes (until onion is translucent).
- Add beans, bay leaves, parsley, thyme, salt, MSG, Cajun seasoning, cayenne pepper, Sage, and water. Stir, bring to a boil, and then reduce heat to medium-low (btwn 2-3). Cover and simmer for 2½ hours.
- Remove bay leaves. Mash some of the beans. Stir Andouille and ham into beans, and simmer uncovered for an additional 30 minutes.
- Meanwhile, prepare the rice. Bring water and rice to a boil in a saucepan. Reduce heat, cover, and simmer for 20 minutes.
- Serve beans over steamed white rice.
-
@ 3f53cc0b:a441f148
2025-02-22 12:10:39MM99 là một nền tảng giải trí trực tuyến hàng đầu, nổi bật với sự đa dạng và phong phú của các trò chơi mà nó cung cấp. Mục tiêu của MM99 không chỉ đơn thuần là mang lại những trải nghiệm giải trí hấp dẫn mà còn là một không gian để người tham gia rèn luyện tư duy, thử thách bản thân và tận hưởng những phút giây thư giãn. Với một loạt các trò chơi được thiết kế từ đơn giản đến phức tạp, MM99 phục vụ đa dạng đối tượng người tham gia từ những người mới bắt đầu đến những người đã có kinh nghiệm lâu năm. Giao diện của nền tảng này được tối ưu hóa cho mọi thiết bị, từ máy tính để bàn đến điện thoại di động, giúp người chơi có thể tham gia vào trò chơi mọi lúc, mọi nơi. Nền tảng này cũng thường xuyên cập nhật và cải tiến các trò chơi, mang lại sự đổi mới liên tục, giúp người tham gia không bao giờ cảm thấy nhàm chán. Điều này khiến MM99 trở thành một lựa chọn lý tưởng cho những ai tìm kiếm sự mới mẻ trong các trò chơi trực tuyến.
Không chỉ chú trọng đến các trò chơi, MM99 cũng đặc biệt xây dựng một cộng đồng người tham gia rất mạnh mẽ và gắn kết. Nền tảng này hiểu rằng, ngoài việc mang đến các trò chơi hấp dẫn, việc tạo ra một không gian giao lưu, học hỏi và chia sẻ kinh nghiệm cũng quan trọng không kém. MM99 cung cấp các tính năng như chat nhóm, diễn đàn thảo luận và các sự kiện trực tuyến, giúp người tham gia có thể giao lưu và kết nối với nhau. Người chơi không chỉ tìm thấy niềm vui trong các trò chơi mà còn có thể trao đổi các chiến lược chơi, học hỏi từ những người chơi khác và thậm chí kết bạn mới. Các sự kiện và cuộc thi trực tuyến được tổ chức định kỳ, mang lại cơ hội cho người tham gia thể hiện kỹ năng và nhận các phần thưởng hấp dẫn. Cộng đồng người chơi tại MM99 rất sôi động và năng động, giúp tạo ra một môi trường trực tuyến vui vẻ và đầy sự tương tác.
Bảo mật và sự an toàn của người tham gia luôn là yếu tố được MM99 đặt lên hàng đầu. Với việc sử dụng công nghệ mã hóa hiện đại và các biện pháp bảo vệ dữ liệu tiên tiến, MM99 cam kết bảo vệ mọi thông tin cá nhân và giao dịch tài chính của người chơi một cách tuyệt đối. Các hệ thống bảo mật của nền tảng này đảm bảo rằng không có thông tin nào bị xâm nhập hay đánh cắp, giúp người tham gia hoàn toàn yên tâm khi tham gia vào các trò chơi và giao dịch trên nền tảng. Bên cạnh đó, đội ngũ hỗ trợ khách hàng của MM99 luôn sẵn sàng 24/7 để giải đáp mọi thắc mắc và hỗ trợ người chơi trong quá trình tham gia. Chính sự kết hợp giữa các trò chơi sáng tạo, cộng đồng gắn kết và hệ thống bảo mật đáng tin cậy đã giúp MM99 khẳng định được vị thế của mình là một nền tảng giải trí trực tuyến uy tín, an toàn và đáng tin cậy. Nền tảng này luôn nỗ lực mang lại cho người tham gia những trải nghiệm tuyệt vời nhất, giúp họ không chỉ giải trí mà còn phát triển các kỹ năng cá nhân trong một môi trường trực tuyến thân thiện và bảo mật.
-
@ 0b118e40:4edc09cb
2025-02-18 05:10:01Are we living in his definition of democracy?
It’s interesting how political parties can divide a country, especially in democracies where both oppression and individual choice coexist.
As I was exploring global economics and political ideologies, I picked up The Republic by Plato (again). The first time I read it, I only read the book on the Allegory of the Cave and it felt enlightening. This time around, I read through all the books and I thought to myself : this is absolutely nuts!
Over 2,000 years ago, The Republic imagined a world disturbingly similar to Gattaca or 1984. For a quick rundown, Plato believed in a police state, eugenics, a caste system, and brainwashing people through state-controlled media and education. Sounds wild? I thought so too.
And for some reason, Plato had a serious grudge against art. To him, art was deceptive and emotionally manipulative. Maybe because there was a skit making fun of Socrates at that time by Aristophanes (the father of comedy) or maybe because he struggled to deal with emotions, we will never know.
Plato obviously wasn’t a fan of democracy as he wanted a dystopian world. But to be fair, he genuinely thought that his ideal world (Kallipolis) was a utopia. Maybe someone who loves extreme order and control might think the same but I sure don’t.
His teacher Socrates was also not a fan of democracy because he believed the mass majority were too ignorant to govern and only those intelligent enough could. His student, Aristotle, was more moderate but still critical, seeing democracy as vulnerable to corruption and mob rule. Socrates, Plato, and Aristotle were around the Classical Greek era, 5th to 4th century BC.
The idea of democracy existed long before them. The first recorded version was in Athens during the 6th BC, developed by leaders like Solon and Pericles. It was a direct democracy where free male citizens (non-slaves) could vote on laws themselves instead of electing representatives.
These guys influenced how we think about democracy today. But looking around, I wonder, did we end up in Plato’s dystopian world?
Plato’s take on democracy
Plato’s lack of trust of democracy stemmed from Socrates’ death. Socrates himself was a fierce critic of democracy, as he believed governance should be based on wisdom rather than popularity.
Other thinkers, like Pythagoras and Herodotus (father of history), also examined different political systems, but Socrates was the most influential critic. He warned that allowing the uneducated masses to choose leaders would lead to poor governance, as they could be easily swayed by persuasive speakers rather than guided by knowledge.
Athenian democracy relied on large citizen juries and was particularly vulnerable to rhetoric and public sentiment.
In the end, Socrates became a victim of the very system he criticized. His relentless questioning of widely accepted beliefs, now known as the Socratic Method, earned him powerful enemies. Socrates’ constant probing forced them to confront uncomfortable truths. It annoyed people so much, that it eventually led to his trial and execution. Socrates was condemned to death by popular vote.
I wonder, if we applied the Socratic Method today to challenge both the left and the right on the merits of the opposing side, would they be open to expanding their perspectives, or would they react with the same hostility?
This questioning technique is now also used in some schools and universities as a teaching method, encouraging open-ended discussion where students contribute their own thoughts rather than passively receiving information. But how open a school, system, or educator is to broad perspectives depends largely on their own biases and beliefs. Even with open-ended questions, the direction of the conversation can be shaped by those in charge, potentially limiting the range of perspectives explored.
Socrates’ brutal death deeply grounded Plato’s belief that democracy, without intellectual rigor, was nothing but a mob rule. He saw it as a system doomed to chaos, where the unqualified, driven by emotion or manipulated by rhetoric, made decisions that ultimately paved the way for tyranny.
The Republic
The Republic was written around 375 BC, after the Peloponnesian War. One of its most famous sections is the Allegory of the Cave, where prisoners are stuck watching shadows on a wall, thinking that it’s reality until one breaks free and sees the real world. That’s when the person becomes enlightened, using knowledge and reason to escape ignorance. They return to free others, spreading the truth. I love this idea of breaking free from suppression through knowledge and awareness.
But as I went deeper into Plato’s work, I realized what the plot twist was.
Plato wrote this book for strict state control. He wanted total control over education, media, and even families like in the book 1984. He argued that people should be sorted into a caste system, typically workers, warriors, and philosopher-kings so that society runs like a well-oiled machine. The “guardians” would police the state and everyone would go through physical and military training. To top it off, kids would be taken away from their parents and raised by the state for the “greater good.” like in the movie Gattaca. If that sounds a little too Orwellian, that’s because it is.
Plato believed that only philosophers, the truly enlightened ones from that “cave”, should rule. To him, democracy was a joke, a breeding ground for corruption and tyranny.
I found it completely ironic that this book that warns about brainwashing in the Allegory of the Cave also pushes for a state-controlled society, where thinking for yourself isn’t really an option.
And yet, looking around today, I wonder, are we really any different? We live in a world where oppression and enlightenment exist side by side.
Plato was slightly progressive in that he thought men and women should have equal education, but only for the ruling Guardian class.
In The Republic, Plato didn’t focus much on economics or capitalism as we understand them today. His philosophies were more concerned with justice, governance, and the ideal structure of society. He did touch on wealth and property, particularly in The Republic and Laws but it was more on being against wealth accumulation by rulers (philosopher-kings had to live communally and without private property).
While these ideas echo elements of socialism, he never outlined a full economic system like capitalism or socialism.
The hatred for art
Plato was deeply skeptical of art. He believed that it appealed to emotions over rational thought and distorted reality. In The Republic (Book X), he argued that art is an imitation of an imitation, pulling people further from the truth. If he had his way, much of modern entertainment, including poetry, drama, and even certain types of music, would not exist in their expressive forms.
Despite Plato’s distrust of the arts, his time was a golden age for Greek drama, sculpture, and philosophy. Ironically, the very city where he built his Academy, Athens, was flourishing with the kind of creativity he wanted to censor.
Even medicine, which thrived under Hippocrates (the father of medicine), was considered an art requiring lifelong mastery. His quote, ‘Life is short, and art is long,’ reflects the long span of time it takes to cultivate and appreciate knowledge and skills, which was something Plato valued. Yet, he dismissed most art as a distraction from truth.
Plato particularly criticized poets and playwrights like Homer, as he claimed they spread false ideas about gods and morality. He was also wary of Aristophanes, as he believed his work stirred emotions rather than encouraging rational thought. It probably did not help that Aristophanes mocked Socrates in his play The Clouds, which may have influenced Plato’s views.
What’s clear is that Plato didn’t hate art because he didn’t understand it. He deeply understood the power of storytelling and its ability to mold societal beliefs. He argued for banning poets entirely from his “ideal city” to prevent them from misleading the public.
But he did value some forms of art. After all, he was a writer himself, and writing is a form of art. He approved of artistic expressions that promoted moral and intellectual virtue, such as hymns, architecture, and patriotic poetry, as long as they served the greater purpose of instilling order and wisdom in society.
Plato’s five regimes
Plato believed governments naturally decay over time, moving from order to chaos. He outlined five regimes, which he considers each to be worse than the last.
-
Aristocracy (Philosopher-King rule) : This is his pitch, the ideal state, ruled by wise elites who value knowledge over power. Some aspects of modern authoritarian states echo this model
-
Timocracy (Military rule) : A government driven by honor and discipline, like Sparta. Over time, ambition overtakes virtue, leading to oligarchy.
-
Oligarchy (Rule by the wealthy) : The rich seizes power and deepens inequality. Many democracies today show oligarchic tendencies, where money dominates politics.
-
Democracy (Rule by the masses) : The people overthrow the elites, prioritizing freedom over order. But without stability, democracy becomes fragile, and vulnerable to demagogues and external manipulation.
-
Tyranny (Dictatorship) : When democracy collapses, a charismatic leader rises, promising order but seizing absolute power. What begins as freedom ends in oppression.
Modern politics seems stuck in a cycle, shifting between democracy, oligarchy, and authoritarian control. If Plato was right, no system is permanent and only the illusion of stability remains.
Does Plato’s ideal state exist in any country today?
Some aspects of modern benevolent dictatorships, like Singapore under Lee Kuan Yew, or socialist states like China, may resemble Plato’s vision in their emphasis on elite rule, long-term planning, and state control. But, these governments operate pragmatically, balancing governance with economic power, political strategy, and public influence rather than strictly adhering to philosophical ideals.
Could this be compared to Taliban rule, given the censorship, authoritarian control, and rigid social hierarchy? While there are superficial similarities, the key difference is that Plato valued knowledge, reason, and meritocracy, while the Taliban enforced religious fundamentalism and theocratic rule. Plato’s Kallipolis also included some level of gender equality for the ruling class, whereas the Taliban’s system is heavily restrictive, especially toward women.
While Plato’s ideas echo in certain authoritarian-leaning states, his rigid caste system, philosopher-led governance, and rejection of democracy set his vision apart from any modern political system.
Aristotle’s take on democracy
Aristotle wasn’t Athenian, but he documented and analyzed 158 constitutions, including Athenian democracy. He studied at Plato’s Academy for over 20 years, growing up in a world influenced by Athens’ democratic experiment. He lived through the tail end of Athens’ golden age, witnessed its decline, and experienced how different forms of rule influenced politics and the mindset of the people under them.
For Aristotle, governments were good or corrupted. The good ones were monarchs, aristocracy (wise elites), and polity (a constitutional gov’t where the middle class keeps power balanced). The corrupted ones were tyranny (monarchy gone wrong), oligarchy, and democracy.
Aristotle saw how democracy, if unchecked, could spiral into chaos or be co-opted by populist leaders. But unlike Plato, who rejected democracy outright, Aristotle believed it could work if properly structured.
His concept of ‘polity’ was a constitutional government that balanced democratic participation with stability, relying on a strong middle class to prevent both mob rule and elite domination. This idea of checks and balances, a mixed government, and middle-class stability make polity the closest to modern constitutional democracies today when compared to all 3 of the Greek philosophers.
What happened after Athens?
Of course, democracy didn’t end with Athens, it evolved over time. After Athens’ golden age came Alexander the Great (Aristotle’s student and the king of Macedonia). He conquered Greece, Persia, Egypt, and part of India, creating the largest empire of his time. After his death in 323 BCE, his empire split among his generals, marking the beginning of the Hellenistic period.
Rome saw a shift from the fall of the Roman Republic to the rise of the Roman Empire under Augustus moving away from democratic ideals to centralized rule. But the Western Roman Empire fell about 500 years later largely due to internal decline and invasions by the Germanic Tribes (modern-day Sweden, Switzerland, Germany). The Eastern Roman Empire (Byzantine Empire, based in Constantinople or modern-day Turkey) rose and survived for nearly 1,000 more years until it fell to the Ottoman Turks in 1453.
During the Medieval period (5th–15th century), Europe saw a rise in monarchies and feudalism. Power shifted to kings, nobles, and the church, with little direct participation from ordinary people. Some democratic elements survived in places like Venice and Florence, where wealthy merchant families controlled city-states.
By the 17th century, democracy started creeping back into political thought, though not without skepticism. Machiavelli and Hobbes weren’t exactly fans of democracy, but they had plenty to say about power and governance. Later on Machiavelli hinted on the possible idea of a republic/mixed government in the *Discourses of Livy *
Meanwhile, England was going through its own struggles with power. The English Civil War (1642–1651) was a showdown between King Charles I, who wanted absolute power, and Parliament, which wanted more influence. Charles ignored Parliament and was executed in 1649. England briefly became a republic under Oliver Cromwell, but the monarchy returned after his death.
In 1688, the Glorious Revolution forced King James II (Charles I’s son) to flee to France. Parliament then invited William of Orange (a Dutch Protestant) and his wife Mary to take the throne. In 1689, they signed the English Bill of Rights, which limited the monarchy’s power, strengthened Parliament, and guaranteed certain rights to citizens.
This was a significant moment in history as it effectively ended the absolute monarchy and established a constitutional monarchy in England.
The American Revolution in 1776 and the French Revolution in 1789 pushed democratic ideals forward but still excluded women, slaves, and the poor. Historian Luciano Canfora, in his book Democracy in Europe, argues that early liberal democracy was full of contradictions as it preached equality, yet economic and social exclusion remained.
(Note: If you want to understand the history of anarchism, the French Revolution is a key starting point. It influenced early anti-authoritarian thought, which later evolved into socialist and anti-capitalist movements. Over time, libertarians adopted anarchist principles, leading to the development of anarcho-capitalism. The concept of anarchism in politics has taken nearly two centuries to emerge in its modern form).
The 19th and 20th centuries saw the expansion of democracy. But as Canfora explains it, it also saw its exploitation and manipulation. Although industrialization and social movements pushed for broader suffrage, democracy remained controlled by elites who feared true mass participation. Democracy became a tool for maintaining power rather than a true expression of the people’s will.
According to Canfora, the Cold War turned democracy into a geopolitical tool, with Western powers supporting or opposing democratic movements based on strategic interests rather than principles.
Today, there are many versions of democracy from direct democracy to representative democracy, presidential democracy, social democracy, religious democracy, constitutional democracy, communist democracy, and more. And is often viewed as a brand name for “good governance”. But are they?
In the end, was Plato right?
At a meta level, Plato’s arguments was about control, be it controlling what people read, hear, and even think. The debate often centers on curated knowledge vs rhetoric. Plato believed that absolute obedience would bring harmony, even at the cost of individuality. Today, we call that totalitarian or dictatorship
But when we take a second look at things, are we already living in Plato’s world?
Governments across the globe control education, influence media narratives, and regulate speech. Many so-called democracies aren’t as free as they claim to be. So maybe Plato’s influence on modern democracies runs deeper than we realize.
Another key debate today is that, unlike Plato’s time, most people are educated. However, much of this education is still designed by state systems, which can influence how people think and vote. How do we balance empowering people through education while ensuring true independence in a system built on critical thinking rather than one that merely feeds information?
Truth is, democracy has never been a pure, people-driven system. It has always been influenced by power struggles, wealth, and manipulation. Often it has been an instrument of control rather than liberation.
But the so-called ‘ignorant masses’, the very people Plato dismissed, are the ones who fight for freedom.
Because real democracy isn’t about control.
It’s about freedom.
It’s about choice.
It’s about the people, always.
-