-

@ fd208ee8:0fd927c1
2025-02-15 07:37:01
E-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
-

@ 6f7db55a:985d8b25
2025-02-14 21:23:57
This article will be basic instructions for extreme normies (I say that lovingly), or anyone looking to get started with using zap.stream and sharing to nostr.
**EQUIPMENT**
Getting started is incredibly easy and your equipment needs are miniscule.
An old desktop or laptop running Linux, MacOs, or Windows made in the passed 15yrs should do. Im currently using and old Dell Latitude E5430 with an Intel i5-3210M with 32Gigs of ram and 250GB hard drive. Technically, you go as low as using a Raspberry Pi 4B+ running Owncast, but Ill save that so a future tutorial.
Let's get started.
**ON YOUR COMPUTER**
You'll need to install OBS (open broaster software). OBS is the go-to for streaming to social media. There are tons of YouTube videos on it's function. WE, however, will only be doing the basics to get us up and running.
First, go to [https://obsproject.com/](https://obsproject.com/)

Once on the OBS site, choose the correct download for you system. Linux, MacOs or Windows. Download (remember where you downloaded the file to). Go there and install your download. You may have to enter your password to install on your particular operating system. This is normal.
Once you've installed OBS, open the application. It should look something like this...

For our purposes, we will be in studio mode. Locate the 'Studio Mode' button on the right lower-hand side of the screen, and click it.

You'll see the screen split like in the image above. The left-side is from your desktop, and the right-side is what your broadcast will look like.
Next, we go to settings. The 'Settings' button is located right below the 'Studio Mode" button.

Now we're in settings and you should see something like this...

Now locate stream in the right-hand menu. It should be the second in the list. Click it.

Once in the stream section, go to 'Service' and in the right-hand drop-down, find and select 'Custom...' from the drop-down menu.

Remeber where this is because we'll need to come back to it, shortly.
**ZAPSTREAM**
We need our streamkey credentials from Zapstream. Go to [https://zap.stream](https://zap.stream). Then, go to your dashboard.

Located on the lower right-hand side is the Server URL and Stream Key. You'll need to copy/paste this in OBS.

You may have to generate new keys, if they aren't already there. This is normal. If you're interested in multi-streaming (That's where you broadcast to multiple social media platforms all at once), youll need the server URL and streamkeys from each. You'll place them in their respective forms in Zapstream's 'Stream Forwarding" section.

Use the custom form, if the platform you want to stream to isn't listed.
*Side-Note: remember that you can use your nostr identity across multiple nostr client applications. So when your login for Amethyst, as an example, could be used when you login to zapstream. Also, i would suggest using Alby's browser extension. It makes it much easier to fund your stream, as well as receive zaps.
*
**Now, BACK TO OBS...**
With Stream URL and Key in hand, paste them in the 'Stream" section of OBS' settings.
Service [Custom...]
Server [Server URL]
StreamKey [Your zapstream stream key]

After you've entered all your streaming credentials, click 'OK' at the bottom, on the right-hand side.
**WHAT'S NEXT?**
Let's setup your first stream from OBS. First we need to choose a source. Your source is your input device. It can be your webcam, your mic, your monitor, or any particular window on your screen. assuming you're an absolute beginner, we're going to use the source 'Window Capture (Xcomposite)'.

Now, open your source file. We'll use a video source called 'grannyhiphop.mp4'. In your case it can be whatever you want to stream; Just be sure to select the proper source.

Double-click on 'Window Capture' in your sources list. In the pop-up window, select your file from the 'Window' drop-down menu.


You should see something like this...

Working in the left display of OBS, we will adjust the video by left-click, hold and drag the bottom corner, so that it takes up the whole display.

In order to adjust the right-side display ( the broadcast side), we need to manipulate the video source by changing it's size.

This may take some time to adjust the size. This is normal. What I've found to help is, after every adjustment, I click the 'Fade (300ms)' button. I have no idea why it helps, but it does, lol.

Finally, after getting everything to look the way you want, you click the 'Start Stream' button.

**BACK TO ZAPSTREAM**
Now, we go back to zapstream to check to see if our stream is up. It may take a few moments to update. You may even need to refresh the page. This is normal.

STREAMS UP!!!
A few things, in closing. You'll notice that your dashbooard has changed. It'll show current stream time, how much time you have left (according to your funding source), who's zapped you with how much theyve zapped, the ability to post a note about your stream (to both nostr and twitter), and it shows your chatbox with your listeners. There are also a raid feature, stream settings (where you can title & tag your stream). You can 'topup' your funding for your stream. As well as, see your current balance.
You did a great and If you ever need more help, just use the tag #asknostr in your note. There are alway nostriches willing to help.
**STAY AWESOME!!!**
npub: nostr:npub1rsvhkyk2nnsyzkmsuaq9h9ms7rkxhn8mtxejkca2l4pvkfpwzepql3vmtf
-

@ 0fa80bd3:ea7325de
2025-02-14 23:24:37
#intro
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.
-

@ 9e69e420:d12360c2
2025-02-14 18:07:10
Vice President J.D. Vance addressed the Munich Security Conference, criticizing European leaders for undermining free speech and traditional values. He claimed that the biggest threat to Europe is not from external enemies but from internal challenges. Vance condemned the arrest of a British man for praying near an abortion clinic and accused European politicians of censorship.
He urged leaders to combat illegal immigration and questioned their democratic practices. “There is a new sheriff in town,” he said, referring to President Trump. Vance's remarks were unexpected, as many anticipated discussions on security or Ukraine. His speech emphasized the need for Europe to share the defense burden to ensure stability and security.
-

@ 9e69e420:d12360c2
2025-02-14 15:14:34
A Russian drone attack has struck the radiation shelter at Chernobyl, according to Ukrainian President Volodymyr Zelensky. The strike caused a fire, but it has since been extinguished, and radiation levels remain stable. The International Atomic Energy Agency (IAEA) confirmed that no casualties occurred and that monitoring continues.
Rafael Mariano Grossi, IAEA's director general, emphasized the need for caution. Chernobyl, site of the 1986 nuclear disaster, contains a protective shield costing $1.6 billion. Disaster prevention remains a priority as the conflict unfolds.
The incident occurred shortly before the meeting of world powers at the Munich Security Conference in Germany.
-

@ 9e69e420:d12360c2
2025-02-13 23:01:36
Robert F. Kennedy Jr. has been confirmed as the next Secretary of Health and Human Services with a Senate vote of 52-48. Senator Mitch McConnell opposed the confirmation. Kennedy's nomination faced hurdles but gained support from the Senate Finance Committee.
During the confirmation hearing, Senator Rand Paul criticized the oversimplification of vaccine discussions. He stated, "Discussion over vaccines is so oversimplified and dumbed down." Kennedy asserted his support for vaccines like measles and polio, promising not to discourage vaccinations as HHS Secretary. Previously, he switched from the Democratic Party to run as an independent and endorsed Trump
-

@ 0000065e:9b5b4c75
2025-02-14 20:54:56
Se está armando un considerable revuelo con las medidas, impulsadas por La Liga y Telefónica, que afectan a servicios relacionados con Cloudflare y a muchos de sus usuarios que tienen que soportar la restricción en la operatividad de los mismos. Pero, ¿cómo puede ser que un tema de “piratería” acabe afectando, con aparente impunidad, a servicios legítimos? Aquí intentaremos explicarlo.
Desde tiempos casi inmemoriales la industria relacionada con la explotación de los contenidos, y prestaciones, sujetos a derechos de propiedad intelectual han sido tremendamente imaginativos a la hora de buscar mecanismos que aseguren sus pingües beneficios. Como los jueces no solían hacerles caso, impulsaron modificaciones legislativas para quitarlos de la ecuación, *administrativizando* el conflicto, como sucedió con la conocida como Ley Sinde.
Pero los mecanismos de esta Ley no eran lo suficientemente ágiles para lo que quería la industria, por lo que había que darle otra vuelta de tuerca al asunto, lo que se hizo con ocasión del art. 138 de la Ley de Propiedad Intelectual. En síntesis, el truco es el siguiente:
- El titular de los derechos acude a un Juzgado honesto, imparcial y preocupado, como no podía ser de otra forma, por la defensa de los derechos fundamentales reconocidos constitucionalmente.
- Ahí plantea una demanda, no contra quien considera infractor de esos derechos (Cloudflare o los usuarios que hacen uso ilícito de sus servicios), sino contra los operadores de telecomunicaciones que dan acceso a internet, en una aplicación torticera y kafkiana del art. 138 LPI (sobre el que volveremos más adelante) pidiendo una serie de medidas.
- Las operadoras se "allanan" a la demanda, es decir, reconocen y aceptan las pretensiones del demandante, y el juez [concede las medidas](https://bandaancha.eu/articulos/2-nuevos-listados-obligan-operadoras-10322).
Con este truco, todos se guardan las vergüenzas unos a otros:
- Los demandantes: Nosotros solamente pedimos las medidas. Es el juez el que las acuerda.
- El juez: A mi me viene uno pidiendo una cosa, la parte demandada se allana. Tengo que conceder lo pedido.
- El operador: Tengo que hacer caso al juez.
Para conseguir esto, los demandantes llevan a cabo una torticera interpretación de los artículos 138 y 139 de la LPI, que en la aplicación que se está haciendo de los mismos convierte dichos preceptos en inconstitucionales, pues, en la práctica, se condena a una pluralidad de personas al cierre de su página web o restricción de sus servicios en España sin darles la más mínima oportunidad defenderse, en una flagrante vulneración tanto de la libertad de expresión e información (art. 20 de la Constitución) como del derecho a la tutela judicial efectiva (art. 24 de la Constitución), pues causa una evidente indefensión la producción de una condena sin posibilidad alguna de defenderse, por no hablar de que puede afectar también a servicios críticos o esenciales, como por ejemplo hospitales y centros de emergencias.
Los artículos 138 y 139, formalmente, permiten demandar directamente a los prestadores de servicios de intermediación (operadores que dan acceso a Internet), para instar la suspensión de los servicios que estos presenten a infractores de derechos de propiedad intelectual. En concreto estos son los preceptos a considerar:
>
> Artículo 138. Acciones y **medidas cautelares urgentes**. El titular de los derechos reconocidos en esta ley, sin perjuicio de otras acciones que le correspondan, podrá instar el cese de la actividad ilícita del infractor y exigir la indemnización de los daños materiales y morales causados, en los términos previstos en los artículos 139 y 140. También podrá instar la publicación o difusión, total o parcial, de la resolución judicial o arbitral en medios de comunicación a costa del infractor….
>
> Tanto las medidas de cesación específicas contempladas en el artículo 139.1.h) como las medidas cautelares previstas en el artículo 141.6 podrán también solicitarse, cuando sean apropiadas, contra los intermediarios a cuyos servicios recurra un tercero para infringir derechos de propiedad intelectual….
>
> Art. 139. h) La suspensión de los servicios prestados por intermediarios a terceros que se valgan de ellos para infringir derechos de propiedad intelectual, sin perjuicio de lo dispuesto en la Ley 34/2002, de 11 de julio, de servicios de la sociedad de la información y de comercio electrónico.”
A nadie honesto, y con un mínimo de sentido común e intención de realizar una hermeneútica correcta, puede escapársele que dichos artículos no están pensados para el supuesto de hecho que nos ocupa, donde no consta la existencia de una válida declaración de infracción de propiedad intelectual, que se ha construido de forma artificial, sin respeto a los principios de dualidad y contradicción de partes, generando una evidente indefensión a las partes que se ven perjudicadas por la pretensión de los demandantes. La Audiencia Provincial de Barcelona tuvo oportunidad de analizar estas peculiares y exóticas previsiones normativas en su Sentencia nº 115/2018, de fecha 20 de febrero de 2018, que es citada por las sentencias que afectan a la polémica que analizamos, y donde sobre la génesis de estos preceptos nos indica:
> “15. El redactado de los artículos 138 y 139 del TRLPI , en lo que afecta a **la extensión de las acciones de cesación a los intermediarios, no aparecía en el texto originario de la Ley**, es consecuencia de una de las múltiples reformas que se han llevado a efecto para adaptar la normativa española sobre propiedad intelectual a la normativa comunitaria. Concretamente, la reforma que afecta a estos preceptos es la llevada a efecto por la Ley 23/2006, de 7 de julio, por la que se modifica el texto refundido de la Ley de Propiedad Intelectual, aprobado por el Real Decreto Legislativo 1/1996, de 12 de abril.
> La Exposición de Motivos de esta reforma indica las razones de la misma:
> «La razón de esta reforma del texto refundido de la Ley de Propiedad Intelectual, aprobado por el Real Decreto Legislativo 1/1996, de 12 de abril, responde a la necesidad de incorporar al derecho español una de las últimas directivas aprobadas en materia de propiedad intelectual, la Directiva 2001/29/CE del Parlamento Europeo y del Consejo, de 22 de mayo de 2001, relativa a la armonización de determinados aspectos de los derechos de autor y derechos afines a los derechos de autor en la sociedad de la información, con la que la Unión Europea, a su vez, ha querido cumplir los Tratados de la Organización Mundial de la Propiedad Intelectual (OMPI) de 1996 sobre Derecho de Autor y sobre Interpretación o Ejecución y Fonogramas.»
> Y, en el último punto de la Exposición de Motivos, se especifica el alcance de la reforma respecto de las acciones y procedimientos:
> «Respecto a las acciones y procedimientos que los titulares de los derechos pueden instar, se establece, por primera vez, la **posibilidad de solicitar medidas cautelares contra los intermediarios** a cuyos servicios recurre un tercero para infringir derechos de propiedad intelectual, sin la exigencia de que el intermediario sea también infractor.»
Es decir, la propia norma, en su exposición de motivos, limita la aplicación de los meritados preceptos, en cuanto a la posibilidad de dirigir la acción directamente contra los intermediarios, al **ámbito de las medidas cautelares.** Ello se deriva igualmente de lo dispuesto en las disposiciones europeas aplicables, como indica la sentencia al decir:
> “Por lo tanto, la interpretación de estos preceptos debe hacerse en consonancia con la normativa de la Unión Europea y la jurisprudencia que la desarrolla.
> 16.- La Directiva 2001/29/CE en su considerando 59 destaca uno de los objetivos de la misma: «Sobre todo en el entorno digital, es posible que terceras partes utilicen cada vez con mayor frecuencia los servicios de intermediarios para llevar a cabo actividades ilícitas. En muchos casos, estos intermediarios son quienes están en mejor situación de poner fin a dichas actividades ilícitas. Así pues, y sin perjuicio de otras sanciones o recursos contemplados, los titulares de los derechos deben tener la posibilidad de solicitar **medidas cautelares** contra el intermediario que transmita por la red la infracción contra la obra o prestación protegidas cometida por un tercero. Esta posibilidad debe estar abierta aun cuando los actos realizados por el intermediario estén exentos en virtud del artículo 5. Debe corresponder a la legislación nacional de los Estados miembros regular las condiciones y modalidades de dichas **medidas cautelares**.»
> Y, para la consecución de este objetivo, el artículo 8.3 de la Directiva establece que:
> «3. Los Estados miembros velarán porque los titulares de los derechos estén en condiciones de solicitar **medidas cautelares** contra los intermediarios a cuyos servicios recurra un tercero para infringir un derecho de autor o un derecho afín a los derechos de autor.»
> 17.- La Directiva comunitaria en principio prevé únicamente la existencia de **medidas cautelares** frente a los intermediarios, así aparece también en el TRLPI ya que el artículo 138 en sus incisos finales hace referencia a medidas cautelares, es decir, medidas instrumentales, necesarias para asegurar la efectividad de la tutela judicial que pudiera otorgarse en la sentencia estimatoria que se dictare.”
>
No obstante lo anterior, **la Audiencia Provincial**, en un pronunciamiento que, entendemos, cuando menos de dudosa constitucionalidad, considera que la Ley permite el ejercicio de estas pretensiones más allá del ámbito de las “acciones y **medidas cautelares urgentes**” que menciona la Exposición de Motivos, la normativa europea y el propio título del art. 138, argumentando lo siguiente:
> “Sin embargo, al desarrollarse el contenido de las acciones de cesación el artículo 139 incluye expresamente la suspensión de los servicios prestados por el intermediario (art. 139.1.h), lo que puede habilitar no sólo a la solicitud de medidas cautelares, sino también a la petición, como pretensión principal, de la suspensión de los servicios. Este régimen legal interno, sin duda más amplio que el derivado del artículo 8.3 de la Directiva, permite abrir una serie de escenarios procesales con trascendencia material por cuanto podría habilitar a dirigir demandas únicamente frente a los intermediarios y no frente al infractor, o podría también habilitar cauce procesal para iniciar acciones frente a los intermediarios sin que exista una previa declaración de infracción imputable, en todo caso, a quien se vale de esos proveedores de servicios para realizar una actividad infractora.”
Parece de dudosa constitucionalidad que se extienda, más allá del estricto ámbito cautelar urgente, la posibilidad de acordar una medida como el cierre de una página web o restricción de servicios sin contar con la presencia en el litigio de las personas afectadas por las medidas. Pero **la Audiencia limita esta posibilidad y sí establece, al menos, la necesidad de que exista una constatación de la existencia de infracción**, como presupuesto para el ejercicio de la acción. En este sentido, la Audiencia considera que un pronunciamiento administrativo al respecto no es suficiente, pero, sorprendentemente, sí considera que un informe de parte no sometido a contradicción, como sucede en el caso de la Sentencia del Juzgado de lo Mercantil nº 9, en cambio, sí constata la existencia de infracción. En concreto, así se pronuncia la Audiencia:
> “Estos problemas son los que se plantean en el supuesto de autos, dado que no ha sido llamado a juicio el titular de la página web supuestamente infractora (www.exvagos.com): no se ha producido un pronunciamiento civil en el que se declare la infracción por parte del titular de esta página web, aunque sí existe un pronunciamiento administrativo ante la Comisión de Propiedad Intelectual…
> Por lo tanto, la **constatación de una infracción de derechos de propiedad intelectual** es un presupuesto ineludible para poder ejercitar las acciones previstas en los artículos 138 y 139 del TRLPI…
> el procedimiento administrativo previo no puede servir, por sí solo, para dar por cumplido o satisfecho el presupuesto previo de infracción por parte del titular de la web, ni la retirada de contenidos puede tener el alcance de presunción de infracción….
> en los autos constan otros **documentos en los que se acredita de modo eficiente la realidad de la infracción**. Se trata, concretamente de la **prueba pericial** aportada como documento número 12 de la demanda… El examen de esa prueba pericial sí permite concluir que la página web exvagos facilita el acceso a contenidos y habilita un sistema de intercambio de archivos que infringe derechos de propiedad intelectual. Así lo hace ampliamente el juez de instancia en la Sentencia recurrida (fundamento de derecho cuarto). ”
En este mismo sentido, sobre la necesidad de constatar la existencia de la infracción, se pronuncia la Sentencia nº 15/2018, del Juzgado de lo Mercantil nº 6 de Barcelona, al decir, en un caso similar, que:
> “... el demandante **no quedará exento de probar**, con carácter prejudicial la infracción sobre los derechos de propiedad intelectual.”
Pues bien, **en el caso de Cloudflare, al menos hasta donde es conocido, no existe ninguna constatación de esa supuesta infracción** (más allá de un “informe técnico” no sometido a contradicción), y los demandantes, acaso en connivencia con los demandados (lo cual es obvio en el caso de TELEFÓNICA, que actúa, con diferentes empresas, como demandante y demandado), o conscientes de que para estos era más fácil allanarse que oponerse a unas pretensiones que no representan perjuicio alguno para ellos, construyen esta farsa de proceso judicial, para conseguir la restricción de los servicios, sin ofrecer la más mínima posibilidad de intervención en el litigio.
Debemos mencionar que algunas sentencias, como la anteriormente citada del Juzgado de lo Mercantil nº 6 de Barcelona, basan la procedencia de la medida acordada contra las páginas web en que sus “**titulares no han podido ser identificados ni localizados**”, en cuyo caso podría considerarse pertinente un procedimiento sin la participación del presunto infractor.
Pero eso no es lo que parece que suceda en este caso, donde al menos Cloudflare se encuentra perfectamente identificada.
Como vemos, la extensión de la posibilidad que tiene el titular de los derechos de accionar directamente contra los prestadores de servicios de intermediación fuera del ámbito cautelar urgente es algo que no da la impresión de estar previsto en la Ley y que, desde luego, es de una más que dudosa constitucionalidad. Si la LPI permite demandar al prestador de servicios, sin conocimiento siquiera del titular de los derechos que se ven afectados, y sin una declaración judicial dictada respetando los principios de igualdad entre las partes afectadas y de contradicción, con base únicamente en un documento de parte, que no ha sido sometido a contradicción, entonces dicha previsión ha de considerarse inconstitucional, al violar el art. 24 y la tutela judicial efectiva.
Conforme a una interpretación razonable de la Ley, la parte actora podría haber solicitado medidas cautelares frente a los prestadores de servicios, pero de forma coetánea o inmediatamente posterior demandar a los presuntos infractores, a fin de que en un proceso contradictorio se determinara si realmente existe infracción y permitir, a los afectados por las medidas poder exponer su visión del asunto en sede judicial.
Podría pensarse, así, que el Juzgado aceptó una interpretación inconstitucional de los artículos 138 y 139 LPI, y no tuvo en cuenta que el art. 21 LEC, establece que el allanamiento debe rechazarse cuando suponga, como es el caso, un perjuicio a tercero no demandado en el procedimiento, pues el art. 21 LEC indica que:
> “Cuando el demandado se allane a todas las pretensiones del actor, el tribunal dictará sentencia condenatoria de acuerdo con lo solicitado por éste, pero si el allanamiento se hiciera en **fraude de ley** o supusiera renuncia **contra el interés general** o **perjuicio de tercero,** se dictará auto rechazándolo y seguirá el proceso adelante.”
Las sentencias de los Juzgados de lo [Mercantil nº 6](https://www.poderjudicial.es/search/AN/openDocument/2d094260f53b5cdca0a8778d75e36f0d/20221006) y [9 de Barcelona](https://www.poderjudicial.es/search/AN/openDocument/3c85bed480cbb1daa0a8778d75e36f0d/20221004), que al parecer son las que sirven de base para las medidas que comentamos, exponen que no se perjudica a terceros, pero, como es notorio y ostensible, en este punto los juzgados de lo mercantil se equivocan del medio al medio, puesto que el allanamiento, sin duda alguna, supone un claro perjuicio de terceros, Cloudflare y sus usuarios legítimos, que ven cómo sus servicios son objeto de restricción, sin ofrecerles posibilidad de defenderse ni argumentar contra las pretensiones de las actoras, infringiendo así el art. 21 LEC, en cuya virtud, el allanamiento debe rechazarse cuando suponga, como es el caso, un perjuicio a terceros no demandados en el procedimiento.
De esta forma, como hemos expuesto, se ha articulado una suerte de procedimiento formal, inexistente en la práctica, para evitar un proceso contradictorio sobre su pretensión, eludiendo así la eventual participación de los afectados en el debate litigioso, algo que, deberemos convenir, supone una clara infracción del art. 24 de la Constitución, tal y como lo interpreta nuestro Tribunal Constitucional en sentencias como la STC 43/2010:
> “Este Tribunal ha declarado reiteradamente que el derecho a la tutela judicial efectiva sin indefensión (art. 24.1 CE) garantiza a **todos los que puedan resultar afectados por la decisión que se dicte en un proceso judicial el derecho a conocer su existencia, a fin de que tengan la posibilidad de intervenir en él, ser oídos, y ejercer la defensa de sus derechos e intereses legítimos**. Esta necesidad de promover la defensa, en la medida de lo posible, mediante la debida contradicción, **impone a los órganos judiciales un especial deber de diligencia** que, en palabras de la STC 56/2001, de 26 de febrero, FJ 2, “tiene especial importancia en el proceso de ejecución”. En concreto, y por lo que respecta a la posibilidad de intervenir en un proceso de ejecución, hemos afirmado que el derecho a la tutela judicial efectiva habilita a quienes ostenten algún derecho o interés legítimo que pueda verse afectado por los actos de ejecución a comparecer y actuar en el procedimiento, aunque no hubieran sido parte en el proceso principal, y a este fin los arts. 270 LOPJ y 260.2 LEC exigen que las resoluciones judiciales se notifiquen no sólo a las partes procesales, sino también a las personas a quienes se refieran o puedan parar perjuicio (SSTC 229/2000, de 2 de octubre, FJ 3; 56/2001, de 26 de febrero, FJ 2).”
Por otro lado, siguiendo la anterior sentencia, el art. 270 LOPJ impone el **deber de notificar las resoluciones judiciales**, no solo a las partes, sino “también **a quienes se refieran o puedan parar perjuicios**”, lo que, como indica la Audiencia Provincial de Barcelona en su Auto de 29 de junio de 2002, “va más allá de una mera facultad discrecional del juzgador, notificación que tiene por objeto poner en conocimiento de tales personas la resolución y posibilitar la defensa de su derecho inquietado o perturbado.”
Y en el mismo sentido, el art. 150 LEC establece que “**también se notificará la pendencia del proceso a las personas que, según los mismos autos, puedan verse afectadas** por la resolución que ponga fin al procedimiento.”
Da la impresión de que ambos preceptos han sido infringidos por los Juzgados y deberían determinar la nulidad de lo actuado y, por tanto, de las sentencias que comentamos. Como se ha expuesto, podría apreciarse una **vulneración del art. 21 de LEC, que impide acceder al allanamiento cuando ello suponga un perjuicio de tercero, fraude de Ley o contrarien intereses generales**, pero más allá de eso, podría dar lugar también a una **violación de la tutela judicial efectiva** reconocida en el art. 24 de la Constitución, desde el momento en que se obliga a unos terceros a soportar una condena sin posibilidad alguna de un proceso con unas mínimas garantías.
Como hemos dicho, la previsión del art. 138 LPI, que permite solicitar la suspensión de los servicios prestados por intermediarios a terceros directamente contra dichos intermediarios, queda circunscrita al ámbito establecido en el propio título del art. 138, “Acciones y medidas cautelares urgentes” y no constituyen una acción autónoma fuera del ámbito cautelar urgente.
En segundo lugar, una interpretación de dicho precepto, en el sentido de que permita el ejercicio de una acción de condena (en la práctica el cierre páginas web y diversos servicios relacionados con estas), sin posibilidad alguna de defensa de los afectados (Cloudflare y sus usuarios), iría en contra del art. 24 de la Constitución y si dicha Ley debe interpretarse en este sentido, sería inconstitucional.
Finalmente, si se admite la existencia de esa acción independiente y que la misma es constitucional, su procedencia debe conectarse con dos requisitos: una constatación efectiva de la existencia de infracción, que entendemos debe producirse en el marco de un proceso contradictorio donde se ofrezca al presunto infractor la posibilidad de defenderse, así como una imposibilidad de identificación y/o localización del mismo. El principio fundamental que rige el desarrollo del procedimiento en su conjunto es el derecho de las partes a no sufrir indefensión. Y la indefensión proscrita por el artículo 24.1 de la Constitución no es la meramente formal, sino la material, es decir, aquella que haya producido a la parte un real y efectivo menoscabo de sus posibilidades de defensa. Cabe citar en este sentido la [Sentencia del Tribunal Constitucional nº 161/2006](https://hj.tribunalconstitucional.es/HJ/es/Resolucion/Show/5763), de 22 de mayo de 2006:
> “Según una consolidada doctrina constitucional el derecho a la tutela judicial efectiva sin indefensión que se reconoce en el artículo 24.1 de la Constitución Española **garantiza el derecho a acceder al proceso en condiciones de poder ser oído y ejercer la defensa de los derechos e intereses legítimos**… La finalidad material de esta exigencia es la de llevar al conocimiento de los afectados las resoluciones judiciales, para que puedan adoptar la postura que estimen pertinente en defensa de sus intereses (por todas, las sentencias del Tribunal Constitucional 77/1997, de 21 de abril, FJ 2; y 216/2002, de 25 de noviembre, FJ 2)."
Esta trascendencia constitucional de la correcta configuración de los procesos, a fin de que los eventuales afectados puedan ser oídos y defenderse adecuadamente se extiende también a procedimientos en los que, formalmente, se configuran como terceros, como sucede en este caso. Sirva como muestra de ello, la STC 43/2010, de 26 de julio que contiene unos pronunciamientos perfectamente aplicables al caso, si sustituimos las referencias a “ejecución” por “medidas de cesación”:
> “Este Tribunal ha declarado reiteradamente que el derecho a la tutela judicial efectiva sin indefensión (art. 24.1 CE) garantiza a **todos los que puedan resultar afectados por la decisión que se dicte en un proceso judicial el derecho a conocer su existencia, a fin de que tengan la posibilidad de intervenir en él, ser oídos, y ejercer la defensa de sus derechos e intereses legítimos**.
>
> Esta necesidad de promover la defensa, en la medida de lo posible, mediante la **debida contradicción**, impone a los órganos judiciales un especial deber de diligencia que, en palabras de la STC 56/2001, de 26 de febrero, FJ 2, “tiene especial importancia en el proceso de ejecución”. En concreto, y por lo que respecta a la posibilidad de intervenir en un proceso de ejecución, hemos afirmado que el **derecho a la tutela judicial efectiva habilita a quienes ostenten algún derecho o interés legítimo que pueda verse afectado** por los actos de ejecución a comparecer y actuar en el procedimiento, aunque no hubieran sido parte en el proceso principal, y a este fin los arts. 270 LOPJ y 260.2 LEC exigen que las resoluciones judiciales se notifiquen no sólo a las partes procesales, sino también a las personas a quienes se refieran o puedan parar perjuicio (SSTC 229/2000, de 2 de octubre, FJ 3; 56/2001, de 26 de febrero, FJ 2).
>
> ...Afirmamos en aquel caso que ello “provoca la indefensión de la demandante de amparo, pues contra el mandato contenido en el art. 24.1 CE de promover la defensión mediante la correspondiente contradicción, y sin perjuicio del pronunciamiento que pueda recaer, de lo que se resuelva sobre la posesión y sobre la posible reserva de las acciones que puedan corresponder a los implicados, conforme acertadamente mantiene el Ministerio Fiscal, el órgano judicial acordó el lanzamiento del propietario y poseedor legítimo de una vivienda sin tan siquiera permitirle comparecer a defender su derecho en un procedimiento contradictorio” (FJ 9).
>
> En definitiva, de nuestra doctrina se desprende con **absoluta claridad que la interdicción de la indefensión consagrada en el art. 24.1 CE impone a los órganos judiciales el deber de velar por que quienes ostenten algún derecho o interés legítimo en un proceso** de ejecución, aunque no hayan sido parte en el proceso principal, **puedan comparecer y ser oídos en el mismo para garantizar su defensa**, sin perjuicio del pronunciamiento que pueda recaer y de la posible existencia de otras acciones que puedan corresponder a los afectados.
>
> …En definitiva, y como afirma el Ministerio Fiscal, **el órgano judicial no actuó con la diligencia debida en orden a procurar que los demandantes de amparo pudieran tener conocimiento y comparecer en un proceso** ejecutivo **en el que resultaban afectados sus intereses**... Y dicho comportamiento del órgano judicial **causó indefensión constitucionalmente relevante**, pues **les privó de su derecho a ser oídos y les impidió el ejercicio del derecho de defensa de sus legítimos derechos e intereses** sobre el citado inmueble, sin que exista dato alguno en las actuaciones del que se desprenda que los recurrentes conocieran la existencia del procedimiento ejecutivo o que no hayan actuado con la diligencia debida en orden a facilitar su comparecencia en el citado proceso.”
Es evidente que a los afectados por las medidas **se les privó del derecho a ser oídos** y **se les impidió el ejercicio del derecho de defensa** de sus legítimos intereses sobre las páginas y servicios que operaban, por lo que se ha producido una **violación del derecho a la tutela judicial efectiva** reconocida en el art. 24 de la Constitución.
Además, las medidas de bloqueo de direcciones compartidas afectan también a la **libertad de expresión e información** de terceros que no guardan relación alguna con el conflicto y, lo que es peor, puede tener una **negativa incidencia en servicios que podrían ser críticos,** lo que es un comportamiento peligroso, irresponsable y negligente.
Por todas estas razones, las sentencias deberían ser anuladas y las medidas derivadas de ellas dejadas sin efecto, ofreciendo en todo caso a los afectados la posibilidad de ser oídos en juicio y defender sus legítimos intereses.
-

@ e3ba5e1a:5e433365
2025-02-13 06:16:49
My 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](https://www.youtube.com/shorts/kqsomjpz7ok):
“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](https://youtu.be/ut8UqFlWdDc) 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*
-

@ 0000065e:9b5b4c75
2025-02-14 01:55:12
En el ámbito bitcoiner es muy habitual que el Estado sea el blanco de las principales críticas, que se ve convertido así en el muñeco de paja al que dirigir nuestros palos. Pero no, en realidad es una piñata que está a punto de desmoronarse de los golpes que le pegan. Cada vez tengo más claro que gran parte de los movimientos "antiestatales", si no todos, están contribuyendo, consciente o inconscientemente, a los intereses de los políticos que nos han llevado a esta situación.
El Estado, con todos sus defectos, sigue siendo la principal unidad de ejercicio de la violencia organizada. Señalando al Estado como el origen de todos los males, no hacemos otra cosa que pegarnos un tiro en el pie, haciendo el caldo gordo a quienes trabajan para cercenar nuestras libertades.
Lo que está claro es que los políticos actuales, de boquilla firmes defensores del Estado, lo que están haciendo es provocar su colapso. Puede que estos políticos, o algunos de ellos, incluso no sean conscientes del todo, pero da igual, pues simplemente priman sus intereses personales, como hacemos todos, intentando aprovechar los incentivos que están encima de la mesa, con las reglas de juego que hemos ido asumiendo. No es que quieran más Estado o que pretendan dinamitarlo, tanto una cosa como otra no son más que las consecuencias de los incentivos que subyacen a nuestra forma de organizarnos en sociedad en el contexto actual. Albert Rivera, en una reciente charla con Iván Espinosa de los Monteros, aludía a esta idea criticando las [redes clientelares y de dependencia del Estado](https://youtu.be/AI7roBGtmvk?t=2709) que generan las actuales dinámicas políticas y adulteran el sistema democrático. Aunque, cabría dudar sobre si el propio “sistema democrático” tiene o no algo que ver con esta situación.
En cualquier caso, no es que la mayoría de políticos sean malvados por naturaleza, aunque algunos puedan realmente serlo; es irrelevante. Sus acciones no están motivadas por su maldad, ni por su ideología o su estupidez, sino, simple y llanamente, por sus intereses personales y los del grupo con el que los comparten.
Las ideologías que manejan los políticos se han convertido en nichos de mercado, en caladeros donde echar la caña a ver si pescan suficientes votos como para asegurarse su porvenir y el de los suyos. Es del todo irrelevante si se creen o no esas ideas que defienden con tanta vehemencia como ausencia de plausabilidad, o incluso si están a sueldo de intereses espurios. De cualquier forma, actuarán en función de lo que crean más conveniente para sus intereses personales y para que más peces caigan en sus redes. Véase, por ejemplo, como [Albert Rivera](https://www.youtube.com/watch?v=XrdCP3viocU), ahora que está fuera de la política, manifiesta que resulta evidente que el sistema de pensiones es una estafa piramidal, mientras que cuando estaba en política defendía lo contrario. O a [Errejón](https://www.youtube.com/watch?v=oZ0KfTsITh8), que sostenía la tesis de que no había denuncias falsas hasta que lo denunciaron a él.
Como digo, los políticos no son malvados o estúpidos (aunque haya algunos, o muchos, que entren en esas categorías), simplemente velan por sus intereses con las armas que tienen a su alcance y, como diría [Vito Corleone](https://youtu.be/Z1dRPt_4rZs?t=208), me es indiferente lo que un hombre haga para vivir. El problema es que esta dinámica está generando unas tendencias que se oponen al progreso que hemos generado como sociedad. Esas reglas de juego en la actualidad, convendremos, son inmorales, en el sentido de que actúan como una fuerza contraria a [nuestra supervivencia y potencia de actuar y obrar](https://maestreabogados.com/bitcoin-el-bien-y-el-mal/).
> *Este artículo forma parte de un trabajo más extenso en elaboración sobre las relaciones de Bitcoin con el Estado.*
-

@ df478568:2a951e67
2025-02-07 22:34:11
Freedom tech is free and open-source software. It is free as in freedom. A common license in FOSS is the MIT license. It's the license behind Bitcoin, a peer-to-peer electronic cash system. Anyone is free to run this software. The same is true for the software at mempool.space. The software is free to use. I run it on my own server.
This is what I use to time-stamp my articles. You can use it to check transactions on the bitcoin time chain, but you need to trust that I'm not doing any funny business. I'm not, but keep in mind, the whole point of p2p elwctronic cash is that you don't trust. You verify.
The beauty of FOSS is: You don't need to trust me. You can triple-check the transactions you search on my mempool instance by looking at the official mempool.space website and blockchain.info...Or...You can run your own node on your own hardware, free of charge.
Of course, the hardware is not free. Neither is the actual bitcoin. The freedom is built into the software, but as the saying goes, "freedom isn't free." It took me years to learn how to run my own software on my own server and make it available on the clear net.
## SearXNG

[SearXNG](https://github.com/searxng/searxng) is my favorite search engine. I don't like giving up my precious data to big tech located in the United States or China. I run my own search engine. I have noticed certain biases in Google searches. The biggest problem is ads.
Companies tend to pay for Yelp and Google reviews. I called an AC company I found from a local magazine that came in the mail. A portly man wearing an HVAC costume drove to my house in a white van. He had a great smile and even better social skills. The van had a slogan plastered on it like most tradie vans do. "Reviews Matter We have a 4.9 Review on Google." He also had his name painted on this van like a Bomber pilot from WW2. I won't dox him, but it was something like "Joe the closer."
I don't trust the omnipotenence of the Googs. I also don't trust fat men they call "the closer" to give me the best deal. The trick to saving sats is to choose the game-theory optimal way of negogiation.
In DUCY, by David Sklansky, I learned useful negotiation skills. Sklansky wrote classic poker books and applied his actuarial math brain to negotiation techniques. He said he would go to a Toyota dealer and say, "I'm shopping for a new Camry. I already have a price from dealership XYZ in a nearby city. What is your price?"
This changes the dynamic right from the starting line and gives the consumer the advantage. So I tried this based technique with the HVAC industrial complex. I got a quote from 3 people:
1. Joe "The Closer."
2. The Costco-sponsored HVAC Company
3. My SearXNG search results.
In essence, I apply the same logic I learned running a full bitcoin node. Remember how I said the decentralized nature of bitcoin allows you to **triple-check your transactions?** Running SearXNG allows me to triple check my search results in a similar fashion. I don't trust Google, Costco, or the magazine I get every month in the mail. I verify results with my own search engine.
My SearXNG does not track my location, but I set it to give me local results. To be honest, I have not verified this, but the code is on GitHub for everyone to see.
I don't want to be "sold" on an AC. I don't want an AC if I could avoid it, but my AC was as dead as dentacoin. Living in Southern California with a wife going through "the change" gave me no alternative.
The guy I found on SearXNG showed up in an unmarked van. He had a beard. He was not "a closer." He was an actual HVAC technician. He tried cleaning my unit made in the same year Weezer released their Blue album. He said he coukd jerry rig it to get it working for another few months, but the machine is on it's last days. He said a newer unit would also be more efficient so I asked him about the energy like a bitcoiner.
"How many kilowatt hours does it cost me to run my AC versus a new AC?"
I don't remember the exact answer, but I asked all three companies. He was the only one that new how to find out. He also happened to be the cheapest, but I would have bought a new AC from this guy even if he wasn't.
I told him I made a space heater out of a bitcoin miner. He had no idea this was possible, but he at least pretended to find it interesting. That's why I use SearXNG to find tradesmen. It's better than Yelp.
If you would like to try my instance of SearXNG, check it out.
`523FeCpi9Gx4nR9NmSFIMEaYcI5Q4WmhYHPEPaEah84=`
To decrypt it, use the key behind the paywall at:
https://8gwifi.org/CipherFunctions.jsp
npub1marc26z8nh3xkj5rcx7ufkatvx6ueqhp5vfw9v5teq26z254renshtf3g0
[882785](https://mempool.marc26z.com/block/00000000000000000001840e7986ea4b6ea103f5af9b524dc102be926a831dee)
[merch](https://marc26z.com/merch/)
**Follow me on nostr**.
All of my work is available under the Creative Commons 0 licence. If you would like to try my instance of Searxng and do not wish to support my work, find me on habla.news by searching my npub. You can find all of my work there(including encryption keys)free of charge.
# Paywall On Substack
abdominal.savior.repaint
Will decrypt this ciphertext:
523FeCpi9Gx4nR9NmSFIMEaYcI5Q4WmhYHPEPaEah84=
Which will reveal my instance of SearXNG at
https://searxng.marc26z.com/
[Subscribe on Subtack](https://substack.com/@marc26z)
-

@ fe32298e:20516265
2025-02-06 02:11:34
I've been using AI tools to help with coding for a while now, but it's always been copy/pasting into ChatGPT and DeepSeek. Faster iteration is better, and privacy is best. So it's time to figure out how to use these tools integrated into [VSCodium](https://github.com/VSCodium/vscodium) and running locally. After a quick review of the most popular extensions I've heard about, I settled on [Tabby](https://github.com/TabbyML/tabby).
## What the heck does this actually DO?
* Code completion - like autocomplete suggestions, looks at your code and suggests the next thing to type at the cursor. You can see it in gray text, then press Tab and it's added to your code.
* Chat - easily chat with an LLM about your code inside your editor, faster than copy/pasting into a website.
* Apparently it can write docs and tests too.
## Can I run it locally? Without a GPU? YES!
Tabby is optimized for small models that only need a few GBs of RAM. I'm using a fairly old [System76](https://system76.com/) Galago Pro with Core i5-10210U and 16 GB RAM. The fans spin up, and Tabby sometimes shows a warning about slow response time, but it seems usable.
## How do I get it set up?
This is the overview, look for step-by-step instructions at the end of this article.
1. Install the Tabby server, which runs locally.
1. Start the Tabby server and tell it to serve some models which it will download automatically.
1. Log in to the Tabby server web interface and create an admin account.
1. Install the Tabby extension in your editor.
1. Connect the Tabby extension to your Tabby server.
## How do I actually use it?
1. Click **Tabby** in the bottom-right corner to open the Tabby command palette.
1. Select **Chat** to open the Chat pane. Drag it to the right side if you want.
1. Or, *Ctrl-Shift-P* and type "tabby" to see some Tabby commands
1. Select some code and *Ctrl-Shift-P* "tabby" to see more Tabby commands
1. **Explain this** seems like a useful one.
Other than that, I don't know! I just started using it today.
## What model should I use?
As usual, it depends. If you're using CPU instead of GPU, start with the ones recommended by Tabby and shown in the Step-by-Step below. Tabby has a [registry of models](https://tabby.tabbyml.com/docs/models/) you can choose from, and a [leaderboard](https://leaderboard.tabbyml.com/) to compare them.
## Step-by-Step
This is for Ubuntu 24.04, and no GPU.
```
# install pre-reqs
sudo apt install build-essential cmake libssl-dev pkg-config
sudo apt install protobuf-compiler libopenblas-dev
sudo apt install make sqlite3 graphviz
# install rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
. "$HOME/.cargo/env"
# build tabby
git clone --recurse-submodules https://github.com/TabbyML/tabby
cd tabby
cargo build
# run tabby (downloads ~3 GB of models)
./target/debug/tabby serve --model StarCoder-1B --chat-model Qwen2-1.5B-Instruct
# browse to http://0.0.0.0:8080 and create an admin user
```
* Install the Tabby extension in your editor. VSCodium had it in the extensions store by searching for "tabby" or try this `ext install TabbyML.vscode-tabby`
* *Ctrl-Shift-P* and look for "Tabby: Connect to server"
* Use the default of `http://localhost:8080`
* Switch over to the Tabby web interface, click your Profile Picture and copy the auth token
* Paste that into Tabby somewhere. I'm sure you'll figure it out if you got this far.
-

@ 9e5a3a1a:ed414e8d
2025-02-02 00:51:34
(deleted)
-

@ 9e5a3a1a:ed414e8d
2025-02-02 00:50:08
Either the phone’s battery went bad and quit charging, or the cable was shit. The warm rain running down the screen made the phone’s UI, flicker back and forth, as Ethan turned the screen on again to check how much battery he had left. Not a lot: 4%. At least the thing was water-proof, he thought. Today was also shit. First his parents confiscated he car keys after finding booze in his closet, now the fucking charging cable went bad. (Hopefully it’s the charging cable and not the battery), he thought. A car drove by splashing him with a fan of muddy water.
“Hey!” he yelled, but the red tail lights were too far away now for the driver to hear. “Fucking fuck!” he swore looking down at himself. It was too dark to see how dirty his shirt and pants were now. The light of the gas station still far away. (Oh, well), he thought and continued walking, wet gravel and sand of road’s shoulder making wet crunching noises underfoot.
Ethan’s thumb moved on the phone to turn the flashlight on, but he stopped himself. There was almost no chance that Casey’s gas station won’t have USB cables, they always did, but with today's luck they might just be out. Then he’d be screwed without a phone for the rest of the night and all day at school tomorrow. It wouldn’t be the end of the world, but he was too irate after everything today to accept not having a phone right now.
A pale form moved to his right a few yards away. He turned and saw a figure standing by the trees. Ethan stopped and squinted through the rain. A cold, creepy feeling suddenly gripped him.
It stood there and watched him. A female form, he realized, tall and pale, with black hair longer that he’s ever seen. Something was off. The face… It’s head… The mouth grinned widely, forming a dome above the eyes, eyes that were down close to the neck, under the nose, mouth and chin up above them. (It’s fucking head is upside down..) he realized.
Ethan’s thumb pressed the phone’s power button, battery be damned. He aimed it at the figure, brought up the camera app and pressed the button to take the picture. Just as the shutter sound clicked the face was suddenly full-screen, as if a few feet away from him.
Ethan gasped and the phone tumbled onto the ground. There was a moment of relief when he realized that the figure was still far away and didn’t suddenly teleport right in front of him, but then something long, black, and wide, like a cross between a ribbon and an anaconda flicked itself toward him and the last thing he felt was a thick spiderweb of hair wrapping itself around him and pulling him forward.
***
“Hey, Riley, when did your dad say you needed to be back home?” Alex’s mom yelled from downstairs. The two girls glanced at their phones to see the time.
“Eleven!” Riley yelled back. They still had half an hour of “study” time. The two really did mean to study for the calculus exam, but ended up chatting the whole evening.
“Oh shit! I got to show you something,” Riley said, turning on her phone’s screen again, “You know that ‘Grin Reaper’ thing on social media?” She scrolled through her phone’s picture gallery.
“Like, that smiling ‘monster’ with upside down head?” Alex asked.
“Yeah, the one they said kidnapped those kids”
“That’s so fake!”
“Yeah, but look!” Riley turned her screen towards her friend.
Alex took the phone from her, “What’s this?”
“It’s her! Caleb was driving me to the movies and I saw her out the window. You know where Casey’s gas station is on Maple av? There’s like a wooded area just past it when you’re driving downtown.”
“It’s just some blurry figure. Probably some homeless person… What’s that?” Alex heard some kind of scratching at the window. She walked over to look. They were on the second floor, but there were no trees close enough to scratch against the window. She opened it and look outside. No one. Just a vine attached to the wall of the house outside. Or was it a vine? Along, curly splotch of dark. Alex frowned.
“No, I saw her, for real for real. It’s looks bad on the photo because it was dark and we were moving, but her head was on upside down and grinning.” Riley insisted.
(Is it ivy?) Alex thought, only half listening to Riley, (Since when do we have ivy on the house?)
Riley wondered if she should tell Alex that when she snapped the photo it looked like the woman’s grinning, upside down face was up close suddenly, right up against the car window. Caleb almost veered off the road turning to see what was wrong when she gasped and dropped the phone. When she fished her phone from beneath the seat, the photo looked normal. Blurry but normal.
(Maybe a mud splash) Alex thought, examining the black, vine-like shadow that stuck to the house aiming at the window. (Some asshole splashed mud on the house as a prank. Someone from school?)
“You think I should post it to TikTok?” Riley asked, looking pensively at the photo.
The question brought Alex’s attention back to her. She walked back over and sat on the other side of her friend, taking the phone from her hand and looking closer at the photo. “It’s dark,” Alex rolled her eyes, “Also, some troll could have just been wearing a mask trying to scare people. That shit’s all over social media.”
“I guess…” Riley decided against telling her more. She didn’t want to sound weird.
Just then, Alex heard her phone ding somewhere behind her. She looked back to find it when she heard a choking noise from where Riley sat, “You ok?” she asked looking back and froze, not quite sure what she was seeing. Riley’s eyes were wide, her hands at her throat tugging at something black, like a scarf wrapping around her neck. More dark, tentacle-like locks reached in towards them through the window. It looked like hair, but it moved as if through water, snaking itself forward and wrapping around Riley’s arms, neck and face. Before Alex could utter a sound or register what she saw, the hair straightened, pulled back, yanking Riley out through the window.
***
Alex sits on her bed in shock, glancing back at the window every thirty seconds. She tries to resist getting up and walking over to it. It's weird feeling of being pulled towards it to make sure it’s locked and being afraid to approach it for fear of what she might see outside. What if she sees it again? It’s tentacle-like locks crawling up the house, surrounding her window ready to snatch her like it did her friend. Can it seep through the cracks and unlock the fragile latch? She feels herself standing up and walking over to the window briskly, her hands smooth over the window latch, making sure it’s still locked, her eyes darting back and forth outside. Nothing. The dark splat on the house Alex first mistook for ivy or mud is gone, too.
She sits back on the bed. Alex can hear her parents arguing downstairs. They think she's using drugs. They searched through her room the day after Riley was taken. They yelled at her that night, them and Riley’s dad, all convinced that the girls were high and Riley wondered off somewhere. Alex knew they would not believe what really happened. But lying wouldn’t help anyone find her friend. She lets think it was all a drug-induced hallucination.
(Maybe I’m crazy,) Alex thinks. Her mind searches for mentions of schizophrenia among any of her relatives. Isn’t that shit genetic?
A chill goes through her body again, suddenly. A scratching at the window? Like the one she heard before Riley was taken? “It’s not real,” she whispers out loud. It’s not real. She keeps thinking she hears it almost as often as she walks over to check the latch on the window. “It’s not real….” She has to check.
Pushing through the fear, Alex briskly walks over to the window again. Nothing it the trees out back across the lawn. She can’t see the outside of the house without opening the window but she can’t risk it. “It wasn’t real” she affirms again. Then she has an idea.
The parents’ arguing grows louder as Alex quietly opens her bedroom door and tiptoes down the stairs toward her mom’s office, trying to avoid attracting their attention. They are still pissed, she doesn't want to deal with them. She looks for scotch tape, quickly founds it, grabs a stack of paper from the printer and goes back upstairs.
If she blocks out the window, it can’t see her, even if it is lurking somewhere outside waiting to snatch her, Alex thinks as she starts to cover the glass with paper and tape. She feels better now, suddenly. It feels like she was doing something to protect herself, even if it involves being near the window and risking seeing that thing.
As the final page of printer paper is about to go up to block the glass completely, Alex freezes. A figure stands on the grass in front of the trees. In panic, Alex tries to decipher the face in the dark. The head, it is right side up. Not grinning, no hair tentacles: not the monster. With a wave of relief, she looks closer, trying to figure out who it is, and a surge of adrenaline and excitement suddenly hits her, (It's Riley!)
“Ril--,” she almost screams, fumbling with the latch. As she pulls the window up and looks back out again, the figure is gone, “Riley!” she yells into the night. No answer. Alex pulls the window closed and runs for the door, briefly coming back to latching again, just in case.
“She’s out there! Outside.” Alex almost yells as she barged into the living groom, pointing towards the back door.
“Where? Outside?” her mom says then quickly goes to the door, dad and Alex following her. In the yard they yell Riley’s name, scanning the grass hill beyond and the tree line behind it.
“Are you sure you saw her?” her dad asks.
“Yeah, it was her, for sure.”
“Are you high again?” her mom turns to her with an annoyed grimace on her face.
“I’m not fucking high, mom!”
“Don’t you talk to me this way! Get back to your room.” her mom yells.
“I’m not fucking high, mom! I saw her.”
Mom isn’t listening, she turns to dad “We should call her parents. She could really be out there,” then to Alex, “Upstairs NOW!”
Pissed, Alex walks back into the house. It feels good to be angry, anger is better than fear. She runs up the stairs and tares down the paper she had just put up on the glass. She leans against the window and scans the tree line up in the distance.
A few hour pass. Alex still gets up from time to time to check the window, but this time she is looking for Riley rather than checking the lock. Her parents have finally quieted down downstairs. It's late. They are probably asleep by now.
Alex considers going to bed herself, but she knows she wouldn't be able to sleep. She looks back out the window.
"Riley!" Her friend is there again, closer this time. Alex opens her mouth to call to her, but stops as she saw Riley raise her finger to her lips, gesturing for her to be quiet. Alex frowns, “What the fuck are you doing?” she mouths, shrugging dramatically.
Riley motions for her to come out then puts her finger to her lips again. What is she doing?
Alex thinks about waking her parents, but decides against it. They’ll just be useless and tell her to go to her room again. She quietly creeps downstairs and sneaks out the door.
She half-expects Riley to be gone again as she walks out of the house and looks out to the hillside, but Riley is still there. Further back, almost past the tree-line. She motions Alex to come closer and takes a few steps back, disappearing in the trees.
“Fuck!” Alex swears, looks back at the house one last time, then takes off across the yard after her.
***
Past the tree line in the woods, Alex crunches through the trees, lighting her way (poorly) with her phone’s flashlight. Thorns scratch her arms and legs as she walks as fast as she can, navigating among the trees, yelling Riley’s name. From time to time she can see Riley's figure moving away from her, weaving among the trees. Her friend moves effortlessly, as if gliding above the ground, unimpeded by the greenery.
Alex trips. She catches herself before she tumbles to the ground. For a second it is pitch black. She bends down to look for her phone. It is a glowing outline among the plants. Alex grabs it and gets up. For a moment she’s disoriented, not sure which way she was going. She looks and listens for her friend but sees and hears nothing. She looks back. There’s a bit of light glittering through the trees back where her neighborhood is. She looks forward and yells Riley’s name again, moving her phone trying to catch a glimpse of her friend’s figure. Nothing. Should she go back? Is Riley playing some stupid game? Maybe she is high.
Without a second though, Alex continues forward, “Riley, it’s not funny! What the fuck are you doing?” Alex can see pale gray light between the leaves and the branches up ahead. She quickens her pace, almost tripping again.
Alex walks into what looks like a small clearing. The trees are further away up ahead, but not much moon-light is coming from up above. She looks up towards the wide canopy, forming a dome overhead. Her eyes suddenly focus on a humanoid shape hanging parallel to the ground from the branches above. Its face is white, torn in two by a wide smile that almost reaches its ears. The top of the head is attached to the neck. Bands of hair suspend it from branches above.
Alex freezes. For a second she feels herself cease to exist except for her breath that moves rhythmically in and out. Moments pass. How long, she can’t tell. (Run!), the thought echoes through her head, and she almost moves to obey but stops herself. To run is to turn her back on that thing. What if that’s when it grabs her. She stays still and so does the figure.
The thing blinks and its grin becomes wider. It sways back and forth, its prehensile locks making branches creak overhead. Alex’s chest and throat grows hot and and she gathers herself. She throws herself to the side, tripping yet carrying herself forward through the snapping bush branches. With sudden agility, she rights herself and runs back into the woods. Tree trunks fly at her as she runs trying not to trip on the uneven ground. She bursts into another clearing and looks back swinging her phone to light the trees behind her to look if that thing is following her. Then her vision turns off.
She feels leaves and dirt against her face, a small pointy stick poking her in her right cheek. There’s a pressure on the side of her head and her hand moves there trying to feel what’s pushing against her. There’s nothing. The side of her head is numb. Memory of where she is and why rushes back into her and she pushes herself up with a jerk. When her vision comes back online she can only see a mosaic of black and gray forms, bushy undergrowth letting in pale light ahead of her. There is a glow coming from her left. She turns and her eyes focus quickly on phone, flashlight still on, its light flooding her vision. Alex grabs it and points it forward then all around, trying to see if she’s alone or if that thing is hiding somewhere near. She doesn’t see anyone. Only trees and quick shadows jumping away from the light as he moves it.
She’s in a sort of a clearing again, except for a large tree trunk close to her. Alex reaches for the numb spot on her head and feels that it’s wet and sticky. It’s blood. She must have ran into that tree when she looked back trying to see if that monster followed her. Alex shines the light around her again. No sign of that thing. It could be hiding in the trees just out of sight. Or… her blood runs cold. She slowly looks up, remembering where she saw that thing first.
For a second, all she can see is branches and flowing, black vines like spider webs snaking through the canopy, then her eyes discern three small, slender figures hanging like poppets from these “vines”. Children. Two smaller ones and one teenager her size. The teenager, Riley, stares at with a blank expression on her face. Then her body moves, or is moved by the tentacle “vines” holding her up. Hair, Alex realizes. He is held by the hair, not wrapped around her like back in the bedroom before Riley was pulled through the window, but growing into her flesh from behind, like thousands tiny marionette strings bunched up in locks. The hair brings Rile's hand up to her side and waves it back and forth, as if in a mocking greeting gesture.
Alex tenses. At any moment, she feels, the figures can leap at her, grab her. But, no, they stay suspended. Then, between them, higher up in the branches the hair moves, like slithering snakes or tentacles moving across each other. A fourth figure is slowly lowering itself from above. The Grin Reaper. Smiling lady with an upside down head. It stops shortly after reaching the same level as the three bodies hanging by its hair. It stares at her, the grin seemingly growing wider and wider without really changing size.
“It’s not real?” Alex, whispers to herself. They aren’t moving any closer, neither the woman nor the bodies suspended by her air. Alex’s hand tightens around her phone. (Phone can’t hallucinate) she thinks to herself. Maybe now they will believe her. She aims her phone right at the woman, her figure, looming above her, looks small on the screen. With a practiced gesture her thumb touches the camera button. As the phone snaps the photo, the screen refreshes showing the things face close up, filling the frame of the phone, as if jumping out at Alex. The girl squeaks, dropping the phone. It lands light up, still illuminating the four figures far above her, as if the woman hasn’t moved despite what the photo showed. Slowly, like a coiling snake, a tentacle-like lock of hair moves up in front of the the woman, pointing at Alex like pulled-back tongue. Then, in a flash, it flies toward her her and Alex’s vision goes black.
#story #shortstory #creepypasta #horror #fiction #writing #nostr
-

@ daa41bed:88f54153
2025-02-09 16:50:04
There 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](https://geek.npub.pro/post/dxqkgnjplttkvetprg8ox/), 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](https://lightning.network/) or [Cashu](https://cashu.space/) 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.

-

@ ec42c765:328c0600
2025-02-05 23:38:12
# カスタム絵文字とは
任意のオリジナル画像を絵文字のように文中に挿入できる機能です。
また、リアクション(Twitterの いいね のような機能)にもカスタム絵文字を使えます。

# カスタム絵文字の対応状況(2025/02/06)

カスタム絵文字を使うためにはカスタム絵文字に対応した[クライアント](https://welcome.nostr-jp.org/tutorial/explore-client.html)を使う必要があります。
※表は一例です。クライアントは他にもたくさんあります。
使っているクライアントが対応していない場合は、クライアントを変更する、対応するまで待つ、開発者に要望を送る(または自分で実装する)などしましょう。
#### 対応クライアント
- [Amethyst](https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst)
- [FreeFrom](https://freefrom.space/)
- [nostter](https://nostter.app/)
- [Rabbit](https://rabbit.syusui.net/)
- [Lumilumi](https://lumilumi.app/)
- [Nos Haiku](https://nos-haiku.vercel.app/)
- [Snort](https://snort.social/)
- [noStrudel](https://nostrudel.ninja/)
ここではnostterを使って説明していきます。
# 準備
カスタム絵文字を使うための準備です。
- Nostrエクステンション(NIP-07)を導入する
- 使いたいカスタム絵文字をリストに登録する
## Nostrエクステンション(NIP-07)を導入する
Nostrエクステンションは使いたいカスタム絵文字を登録する時に必要になります。
また、環境(パソコン、iPhone、androidなど)によって導入方法が違います。
Nostrエクステンションを導入する端末は、実際にNostrを閲覧する端末と違っても構いません(リスト登録はPC、Nostr閲覧はiPhoneなど)。
Nostrエクステンション(NIP-07)の導入方法は以下のページを参照してください。
[ログイン拡張機能 (NIP-07)を使ってみよう | Welcome to Nostr! ~ Nostrをはじめよう! ~ ](https://welcome.nostr-jp.org/tutorial/nip-07.html)
少し面倒ですが、これを導入しておくとNostr上の様々な場面で役立つのでより快適になります。
## 使いたいカスタム絵文字をリストに登録する
以下のサイトで行います。
[emojito](https://emojito.meme/)
右上の**Get started**からNostrエクステンションでログインしてください。
例として以下のカスタム絵文字を導入してみます。
実際より絵文字が少なく表示されることがありますが、古い状態のデータを取得してしまっているためです。その場合はブラウザの更新ボタンを押してください。
[generalJP | カスタム絵文字](https://emojito.meme/a/naddr1qqykwetwv4exzmz22qqsuamnwvaz7tmev9382tndv5hsyg8vgtrk2svt8kuusk4l7w5g7j3mhet4xhhthhz52gsyr7jn9rqxqqpsgqqqw48qud6u3s)

- 右側の**Options**から**Bookmark**を選択

これでカスタム絵文字を使用するためのリストに登録できます。
# カスタム絵文字を使用する
例としてブラウザから使えるクライアント nostter から使用してみます。
[nostter](https://nostter.app/)
nostterにNostrエクステンションでログイン、もしくは秘密鍵を入れてログインしてください。
## 文章中に使用
1. **投稿**ボタンを押して投稿ウィンドウを表示
2. **顔😀**のボタンを押し、絵文字ウィンドウを表示
3. ***タブ**を押し、カスタム絵文字一覧を表示
4. カスタム絵文字を選択
5. : 記号に挟まれたアルファベットのショートコードとして挿入される

この状態で投稿するとカスタム絵文字として表示されます。
カスタム絵文字対応クライアントを使っている他ユーザーにもカスタム絵文字として表示されます。
対応していないクライアントの場合、ショートコードのまま表示されます。

ショートコードを直接入力することでカスタム絵文字の候補が表示されるのでそこから選択することもできます。

## リアクションに使用
1. 任意の投稿の**顔😀**のボタンを押し、絵文字ウィンドウを表示
2. ***タブ**を押し、カスタム絵文字一覧を表示
3. カスタム絵文字を選択

カスタム絵文字リアクションを送ることができます。

# カスタム絵文字を探す
先述した[emojito](https://emojito.meme/)からカスタム絵文字を探せます。
例えば任意のユーザーのページ [emojito ロクヨウ](https://emojito.meme/p/npub1a3pvwe2p3v7mnjz6hle63r628wl9w567aw7u23fzqs062v5vqcqqu3sgh3) から探したり、 [emojito Browse all](https://emojito.meme/browse) からnostr全体で最近作成、更新された絵文字を見たりできます。
また、以下のリンクは日本語圏ユーザーが作ったカスタム絵文字を集めたリストです(2025/02/06)
※漏れがあるかもしれません
[日本ユーザー作 カスタム絵文字](https://nostviewstr.vercel.app/npub17hczqvxtfv3w69wr6lxrttnpdekwdwel55mld60fr24zwjuu6utqtj8mjx/10030)
各絵文字セットにある**Open in emojito**のリンクからemojitoに飛び、使用リストに追加できます。
-----------
以上です。
次:Nostrのカスタム絵文字の**作り方**
Yakihonneリンク [Nostrのカスタム絵文字の作り方](https://yakihonne.com/article/_@lokuyow.github.io/1707912490439)
Nostrリンク nostr:naddr1qqxnzdesxuunzv358ycrgveeqgswcsk8v4qck0deepdtluag3a9rh0jh2d0wh0w9g53qg8a9x2xqvqqrqsqqqa28r5psx3
-----------
# 仕様
[NIP-30 Custom Emoji](https://github.com/nostr-protocol/nips/blob/master/30.md)
[NIP-30 カスタム絵文字(和訳)](https://github.com/nostr-jp/nips-ja/blob/main/30.md)
-

@ e3ba5e1a:5e433365
2025-02-05 17:47:16
I got into a [friendly discussion](https://x.com/snoyberg/status/1887007888117252142) 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:
1. 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.
2. 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
-

@ b17fccdf:b7211155
2025-02-01 18:41:27
#### **Next new resources about the MiniBolt guide have been released**:
---
* 🆕 **Roadmap**: [LINK](https://github.com/orgs/minibolt-guide/projects/1)
* 🆕 **Dynamic Network map**: [LINK](https://app.diagrams.net/?tags={}&lightbox=1&target=blank&highlight=0000ff&edit=_blank&layers=1&nav=1&title=networkmap.drawio.png#Uhttps://raw.githubusercontent.com/minibolt-guide/minibolt/main/resources/networkmap.drawio.png)
* 🆕 **Nostr community**: [LINK](https://habla.news/c/[n]addr1qqyy66twd9px7mr5qyf8wumn8ghj7mmxve3ksctfdch8qatzqgstzl7vmurm5gu87qutx3pxwgxddrg39huj809zhmv03scfkus3z4grqsqqpphk2j0aff) < ~ REMOVE the "[]" symbols from the URL (naddr...) to access
* 🆕 **Linktr FOSS** (UC) by [Gzuuus](nostr:npub1gzuushllat7pet0ccv9yuhygvc8ldeyhrgxuwg744dn5khnpk3gs3ea5ds): [LINK](https://linktr.minibolt.info)
* 🆕 **Donate webpage**: 🚾 [Clearnet LINK](https://donate.minibolt.info) || 🧅 [Onion LINK](http://3iqm7nidexns5p6wmgc23ibgiscm6rge7hwyeziviwgav4fl7xui4mqd.onion/apps/Li3AtEGDsqNmNddv6rX69taidm3/pos)
* 🆕 **Contact email**: [hello@minibolt.info](mailto:hello@minibolt.info)
---
Enjoy it MiniBolter! 💙
-

@ 0271e1b9:ad8cff90
2025-02-01 07:39:31
**I study the greats.**
For if and when I find myself beaten down into the gutters of life - the vile, bile and the mundane - I shall draw strength from other great men - past, present and future - who, quite often, faced many more adversities and a lot more suffering, but chose to use them to their advantage, to overcome their dire circumstances and rise above the afflictions that life had bestowed upon them. It’s all been done before. It can be done again, better.
Learning from the past and from the present is very straightforward. Anyone can do that. But how does one learn from the future? It’s simple: you envision the best possible future for humanity, for generations to come, and for yourself. Then you figure out an approximate path on how to get there, and what kind of a man or a woman you must be to walk that path. The skills, the mindset, the qualities. And lastly, but perhaps most importantly, you find actionable measures, habits, convictions on how to become that person - and conversely, what are stopping you from becoming that person.
> “You must value learning above everything else.”
― Robert Greene
> “Those who have a 'why' to live, can bear with almost any 'how'.”
― Viktor E. Frankl
> “You need to look at all events as having value. If you can do that, then you’re in a zone of tremendous opportunity.”
― Phil Stutz
> “I shall take the more pains to uncover the fountains of philosophy, from which all my eloquence has taken its rise.”
― Marcus Tullius Cicero
> “Error correction is the basis of all intelligence.”
― Jeff Booth
> “Yes, you’re likely to fail, that’s fine. Because the goal of playing is not to win, but to keep learning. And the day you stop learning is the day you stop living."
― Jesse Enkamp
> "A man is great not because he hasn't failed; a man is great because failure hasn't stopped him."
— Confucius
> “If people knew how hard I had to work to gain my mastery, it would not seem so wonderful at all.”
― Michelangelo
> “First of all we have to decide what we are to do and what manner of men we wish to be - the most difficult problem in the world.”
― Marcus Tullius Cicero
> “You either bleed soul into your work, or let the work bleed out your soul.”
― Pran Yoganthan
> "The Stoic philosopher is the man who has liberated himself from fear. He’s not afraid of death, he’s not afraid of pain, he’s not afraid of other people’s dismissal as a fool. The only thing he cares about is that he should meet his moral obligations.”
― Michael Sugrue
> "The strong do what they can and the weak suffer what they must."
― Thucydides
> “The brain is the most powerful weapon in the world.”
― David Goggins
> “Man, the bravest of animals, and the one most accustomed to suffering, does not repudiate suffering as such; he desires it, he even seeks it out, provided he is shown a meaning for it, a purpose of suffering. The meaninglessness of suffering, not suffering itself, was the curse that lay over mankind so far.”
― Friedrich Nietzsche
> "Consciousness is awareness with a choice."
― Thomas Campbell
> “The essence of philosophy is that a man should so live that his happiness shall depend as little as possible on external things.”
― Epictetus
> “It’s most real, it’s most good and it’s most salvific - it saves you, it transforms you. That’s the sacred.”
— John Vervaeke
> “It is impossible for a man to learn what he thinks he already knows.”
― Epictetus
> “Evolution is a process of iteration. There’s no master plan. It’s in each moment of what happens.”
― Michael Behrens
> “Don’t follow anybody and don’t accept anyone as a teacher, except when you become your own teacher and disciple.”
― Jiddu Krishnamurti
> “This is your life. You’re accountable. What are you gonna do about that?”
― James Hollis
By the way, if you enjoyed these quotes, feel free to follow a little side project of mine: [Stoic Resurrection](https://linktr.ee/stoic_resurrection)
*Peace & Love,*
*[Kontext](https://linktr.ee/mckontext)*
*Block height 881,748*
-

@ 000002de:c05780a7
2025-02-01 05:23:37

originally posted at https://stacker.news/items/872035
-

@ ec42c765:328c0600
2025-02-05 23:45:09
test
test
-

@ ee7e3590:5602f192
2025-02-01 05:02:15
You’re hitting on the core tension: **unlimited demand for emergency care collides with finite resources**, and pretending otherwise leads to either runaway costs or rationing-by-stealth. Let’s confront this head-on with free-market-aligned solutions that don’t ignore human realities:
---
### **1. Redefine "Emergency Care"**
The U.S. legally mandates ERs to stabilize *anyone*, regardless of ability to pay (EMTALA). This creates moral hazard:
- **Problem**: Hospitals inflate prices on paying patients to offset uncompensated care.
- **Free-Market Fix**:
- **Repeal EMTALA**: Allow ERs to refuse non-critical cases (e.g., toothaches, rashes) unless prepaid or insured.
- **Clarify "True Emergency"**: Legally define emergencies as *immediate life threats* (e.g., strokes, cardiac arrest) and let non-critical cases be diverted to urgent care.
- **Consequence**: ERs could price transparently for true emergencies, while non-critical cases face market-driven urgent care options.
---
### **2. Embrace Tiered Emergency Care**
Not all emergencies require Level I trauma centers:
- **Basic ERs**: Staffed by NPs and paramedics for minor injuries (e.g., sprains, minor burns) at lower costs.
- **Advanced ERs**: For critical care (e.g., gunshot wounds), priced higher but competing via outcomes (e.g., survival rates).
- **Example**: India’s *Ziqitza Healthcare* operates ambulance tiers—basic vans for transport and advanced ICU units.
---
### **3. **Address Moral Hazard with Insurance Innovation**
- **Catastrophic Insurance Mandates**: Require everyone to carry cheap, high-deductible plans covering *only* true emergencies (e.g., $10/month for coverage above $50k).
- Incentivizes price shopping for non-emergencies.
- Prevents freeloading on ERs.
- **Risk-Adjusted Premiums**: Smokers, skydivers, or diabetics pay higher premiums, aligning costs with personal choices.
---
### **4. **Community-Based Safety Nets**
- **Mutual Aid Networks**: Local groups negotiate bulk ER rates (e.g., $100/month membership covers three ER visits annually).
- **Crowdfunding ER Vouchers**: Platforms like *GoFundMe* could partner with hospitals to prepurchase discounted emergency care slots.
---
### **5. **Radical Transparency + Bankruptcy Reform**
- **ER Debt Auctions**: Let hospitals sell unpaid ER bills to collection agencies in real-time, creating competition to minimize patient liability.
- **Flat-Fee ER Pricing**: Hospitals post rates like “$5,000 for appendicitis stabilization, all-inclusive” to deter surprise billing.
- **Ban Wage Garnishment for Medical Debt**: Protect patients from lifelong ruin, forcing hospitals to price responsibly or absorb losses.
---
### **6. **Accept Trade-Offs Explicitly**
The U.S. system fails because it hides rationing behind complexity. A free-market approach must embrace transparency:
- **Option 1**: Pay $100,000 for a 95% survival rate in a car crash.
- **Option 2**: Pay $20,000 for a 70% survival rate at a budget ER.
- **Brutal but Honest**: Let individuals (or insurers) choose their risk tolerance upfront.
**Example**:
- **Japan’s Price Controls**: Caps ER costs but tolerates wait times (e.g., 8+ hours for non-critical care).
- **Switzerland’s Mandates**: Everyone buys insurance, but ERs charge $1,000+ deductibles to deter overuse.
---
### **7. **Disrupt with Decentralized Care**
- **Crypto-ERs**: Blockchain-based emergency funds where contributors vote on covering members’ bills.
- **AI-Guided Self-Care**: Apps that stabilize patients en route to ERs (e.g., tourniquet tutorials, overdose reversal guidance).
---
### **8. **Reform Malpractice to Reduce Defensive Medicine**
- **“No Pay, No Harm” Liability**: If a patient doesn’t pay, they can’t sue for malpractice (incentivizing upfront pricing).
- **Safe Harbor Protocols**: ERs using approved, cost-effective treatments (e.g., generics) get immunity from lawsuits.
---
### **The Uncomfortable Truth**
A free market in emergency care requires accepting that **not everyone will be saved**—just as not everyone can afford a Ferrari. The alternative is the current U.S. model, which *pretends* to save everyone but bankrupts millions and still leaves 30% of ER visits unmet due to overcrowding.
By legalizing tiered care, deregulating monopolies, and forcing transparency, you create a system where:
- **Elites** pay premium prices for cutting-edge emergency care.
- **Most** get “good enough” stabilization at reasonable costs.
- **Some** choose cheap, high-risk options (or none at all).
This isn’t pretty, but it’s honest—and arguably more ethical than today’s hidden rationing and financial toxicity.
-

@ 18e3af1e:1d42e5df
2023-08-13 02:40:19
Las comunidades son creadas mediante el esfuerzo de no solo un individuo, sino al trabajo de docenas; cientos o miles de personas. Mediante la especialización, como especie, logramos entender que: el saber hacer una sola cosa no significa morir de hambre, o no estar bien preparado para un ataque; por lo contrario, el dominio o maestría de una sola cosa... Puede crear una civilización entera.
Permitirnos un enfoque certero para aprender, dominar y amaestrar nuestras actividades en un periodo de tiempo finito, permitió nuestro avance hacia nuevos campos, de hecho, movió nuestra meta en magnitud tal, que al imaginar el pasado (para muchos) parece mas bien una película cómica y sombría.
Hoy en día, en un mundo regido por individualismo en el reino físico, la manifestación de constructores de comunidades sigue presente en el (reino) digital.
### La evolución de la construcción
A lo largo de la historia de la humanidad, la construcción ha evolucionado desde simples refugios hasta monumentos arquitectónicos y estructuras vanguardistas. Los primeros humanos crearon refugios rudimentarios con materiales naturales. Con la civilización, surgieron las primeras estructuras permanentes, como pirámides y templos, reflejando la organización social y creencias religiosas. La antigua Roma introdujo la innovación en la ingeniería con acueductos y arcos.
La Edad Media vio fortificaciones y catedrales góticas que fusionaban espiritualidad y técnica. El Renacimiento abrazó la proporción y la simetría en palacios y edificios renombrados. La Revolución Industrial marcó un cambio radical con el acero y el hormigón, permitiendo rascacielos y puentes icónicos.
El siglo XX trajo consigo la era de los rascacielos y la arquitectura modernista, desafiando límites estructurales y estéticos. La sostenibilidad ganó importancia en el siglo XXI, impulsando la incorporación de tecnologías avanzadas, como la impresión 3D y la construcción modular.
La historia de la construcción es un testimonio de la creatividad y la adaptabilidad humanas, reflejando no solo avances técnicos, sino también valores culturales y aspiraciones.
En el día hoy, los desarrolladores de software y tecnología podrían considerarse como los constructores del próximo siglo. Al igual que los constructores en otras épocas históricas, los desarrolladores de software son responsables de crear estructuras digitales que moldean la forma en que interactuamos, comunicamos y vivimos en el mundo moderno.
A medida que la tecnología continúa avanzando y la sociedad se vuelve cada vez más digital, el papel de los desarrolladores de software se vuelve crucial en la construcción de soluciones tecnológicas que abordan una amplia gama de desafíos.
Así como los arquitectos y constructores antiguos debían entender la física, la estética y las necesidades humanas para diseñar y construir edificios funcionales y atractivos, los desarrolladores de software deben comprender la lógica de programación, la experiencia del usuario, la seguridad cibernética y la innovación tecnológica para crear aplicaciones, sistemas y plataformas que sean útiles y efectivos.
### Individuos que inspiran
La inspiración individual es un poderoso motor de cambio que puede tener un impacto significativo en la mente colectiva de una comunidad o sociedad. Cuando una persona demuestra pasión, determinación y una visión positiva, puede influir en otros a nivel emocional y cognitivo. Aquí hay algunas formas en que la inspiración individual afecta a la mente colectiva:
La gente puede verse reflejada en las luchas y logros de alguien más, lo que crea un sentido de unidad y comunidad. Esto puede generar un mayor apoyo y solidaridad en torno a ciertas causas o valores. Además, la inspiración individual puede llevar a la acción. Cuando las personas son testigos de un individuo que supera obstáculos o logra metas desafiantes, esto puede motivar a otros a enfrentar sus propios desafíos y trabajar hacia sus objetivos. El ejemplo de una sola persona puede encender la chispa de la acción en muchas más.
La inspiración individual puede tener un efecto multiplicador. Cuando una persona inspirada comparte su historia o experiencia, puede inspirar a otros, creando una cadena de influencia que se extiende a través de redes sociales, comunidades y sociedades enteras. Esto puede tener un impacto a gran escala en la mente colectiva.
El individuo inspirador tiene el potencial de influir profundamente en la mente colectiva al cambiar percepciones, motivar la acción y crear una sensación de comunidad y unidad.
### Comunidades: origen, inicios y progreso.
Las comunidades han sido una parte fundamental de la experiencia humana a lo largo de la historia. Desde los primeros tiempos hasta la era moderna, las comunidades han evolucionado y cambiado en respuesta a las necesidades, avances tecnológicos y contextos culturales.
Desde los primeros días de la humanidad, nuestros antepasados se agruparon en pequeñas comunidades para sobrevivir. Estas comunidades eran grupos familiares o tribus que compartían recursos y conocimientos para cazar, recolectar alimentos y protegerse de los peligros. La cooperación y la solidaridad eran esenciales para la supervivencia.
Con el desarrollo de la agricultura, las comunidades evolucionaron hacia asentamientos más permanentes. La capacidad de cultivar alimentos permitió la formación de aldeas y pueblos, donde la gente podía establecerse y construir relaciones más complejas. Esto llevó al surgimiento de una división del trabajo más especializada y al desarrollo de habilidades artesanales.
Las civilizaciones antiguas, como la sumeria, egipcia, griega y romana, dieron paso a la formación de ciudades y sociedades más organizadas. Las comunidades se convirtieron en centros de comercio, gobierno y cultura. Se construyeron estructuras monumentales, como templos y palacios, que unificaron a las personas en torno a creencias religiosas y sistemas políticos.
Durante la Edad Media, las comunidades se organizaron en torno a sistemas feudales. Los señores feudales gobernaban sobre las tierras y las personas locales. Las aldeas y feudos eran autónomos en gran medida y se centraban en la agricultura y la autosuficiencia.
La Revolución Industrial marcó un cambio importante en la estructura de las comunidades. La industrialización dio lugar a la urbanización, con muchas personas dejando las zonas rurales para trabajar en fábricas en las ciudades.
En la era moderna, las comunidades han continuado evolucionando con avances tecnológicos y la globalización. Las redes sociales y las comunicaciones digitales han conectado a personas de todo el mundo, creando comunidades virtuales en línea.
### Bitcoin | Nostr y la chispa del constructor
Como ya vimos, un solo individuo puede inspirar a muchos otros, teniendo un efecto multiplicador. Esto no solo se traduce al mundo físico, por el contrario, esta directamente ligado a nuestra psicología, incluso podemos decir que va aun mas allá, adentrándonos en el terreno ideológico y espiritual.
Hasta hace no mucho, estábamos a merced de las grandes corporaciones que construían todo por nosotros, mientras esperábamos con ansias las nuevas actualizaciones de cada iteración de sus productos. Cada vez mas y mas nos hacíamos dependientes de dichas corporaciones sin quizás notarlo, poco a poco se fueron apoderando de nuestro tiempo y muy insidiosamente de nuestra personalidad e identidad.
Gracias a las alternativas presentadas hoy en día y a los individuos que inspiran a otros, existe la posibilidad de construir algo que va mas allá de las grandes corporaciones, porque transciende no solo el nivel físico y digital, sino que también transciende a los individuos que aportan a la comunidad. Estoy hablando por supuesto de Nostr, y como los incentivos están alineados gracias a Bitcoin.
Pongamos como ejemplo un par de nombres para ilustrar como individuos que inspirar pueden crear una chispa que se extiende a cada persona dentro de la comunidad.
Personajes como nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft nostr:npub1utx00neqgqln72j22kej3ux7803c2k986henvvha4thuwfkper4s7r50e8 nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49 nostr:npub107jk7htfv243u0x5ynn43scq9wrxtaasmrwwa8lfu2ydwag6cx2quqncxg (entre muchos otros que podría mencionar pero todo el articulo seria una lista de nombres) han inspirado a otros desarrolladores, creadores de contenido (y todas las otras especializaciones que te puedas imaginar…) A construir sobre este protocolo. Incluso, personas como el caso mas reciente de nostr:npub1m64hnkh6rs47fd9x6wk2zdtmdj4qkazt734d22d94ery9zzhne5qw9uaks han encontrado inspiración para aprender a programar sobre estos mismos rieles.
> nostr:nevent1qqs8fe938k7j5sxcprrv89ezpu09m9pzm90f0sq24hnwlwu0rmn09qcpzemhxue69uhhyetvv9ujumn0wd68ytnzv9hxg5vtygh
La chispa del constructor en palabras mas concisas es: **Inspiración multiplicadora en pos de la productividad y por ende, del crecimiento de una comunidad.**
Sin Bitcoin y Lightning Network, esto seria posible, pero mucho menos efectivo debido a que las personas detrás de toda labor que este enfocada en creación de contenido, desarrollo, etc. Tienen que comer.
### Conclusión
La chispa del constructor radica en la inspiración individual que impulsa a la acción colectiva. Desde la evolución de la construcción hasta las comunidades digitales, **el poder de un individuo inspirado puede moldear el presente y el futuro de las comunidades en todo el mundo.**
-

@ ec42c765:328c0600
2025-02-05 23:43:35
test
-

@ ee7e3590:5602f192
2025-02-01 05:00:39
You’re hitting on the core tension: **unlimited demand for emergency care collides with finite resources**, and pretending otherwise leads to either runaway costs or rationing-by-stealth. Let’s confront this head-on with free-market-aligned solutions that don’t ignore human realities:
---
### **1. Redefine "Emergency Care"**
The U.S. legally mandates ERs to stabilize *anyone*, regardless of ability to pay (EMTALA). This creates moral hazard:
- **Problem**: Hospitals inflate prices on paying patients to offset uncompensated care.
- **Free-Market Fix**:
- **Repeal EMTALA**: Allow ERs to refuse non-critical cases (e.g., toothaches, rashes) unless prepaid or insured.
- **Clarify "True Emergency"**: Legally define emergencies as *immediate life threats* (e.g., strokes, cardiac arrest) and let non-critical cases be diverted to urgent care.
- **Consequence**: ERs could price transparently for true emergencies, while non-critical cases face market-driven urgent care options.
---
### **2. Embrace Tiered Emergency Care**
Not all emergencies require Level I trauma centers:
- **Basic ERs**: Staffed by NPs and paramedics for minor injuries (e.g., sprains, minor burns) at lower costs.
- **Advanced ERs**: For critical care (e.g., gunshot wounds), priced higher but competing via outcomes (e.g., survival rates).
- **Example**: India’s *Ziqitza Healthcare* operates ambulance tiers—basic vans for transport and advanced ICU units.
---
### **3. **Address Moral Hazard with Insurance Innovation**
- **Catastrophic Insurance Mandates**: Require everyone to carry cheap, high-deductible plans covering *only* true emergencies (e.g., $10/month for coverage above $50k).
- Incentivizes price shopping for non-emergencies.
- Prevents freeloading on ERs.
- **Risk-Adjusted Premiums**: Smokers, skydivers, or diabetics pay higher premiums, aligning costs with personal choices.
---
### **4. **Community-Based Safety Nets**
- **Mutual Aid Networks**: Local groups negotiate bulk ER rates (e.g., $100/month membership covers three ER visits annually).
- **Crowdfunding ER Vouchers**: Platforms like *GoFundMe* could partner with hospitals to prepurchase discounted emergency care slots.
---
### **5. **Radical Transparency + Bankruptcy Reform**
- **ER Debt Auctions**: Let hospitals sell unpaid ER bills to collection agencies in real-time, creating competition to minimize patient liability.
- **Flat-Fee ER Pricing**: Hospitals post rates like “$5,000 for appendicitis stabilization, all-inclusive” to deter surprise billing.
- **Ban Wage Garnishment for Medical Debt**: Protect patients from lifelong ruin, forcing hospitals to price responsibly or absorb losses.
---
### **6. **Accept Trade-Offs Explicitly**
The U.S. system fails because it hides rationing behind complexity. A free-market approach must embrace transparency:
- **Option 1**: Pay $100,000 for a 95% survival rate in a car crash.
- **Option 2**: Pay $20,000 for a 70% survival rate at a budget ER.
- **Brutal but Honest**: Let individuals (or insurers) choose their risk tolerance upfront.
**Example**:
- **Japan’s Price Controls**: Caps ER costs but tolerates wait times (e.g., 8+ hours for non-critical care).
- **Switzerland’s Mandates**: Everyone buys insurance, but ERs charge $1,000+ deductibles to deter overuse.
---
### **7. **Disrupt with Decentralized Care**
- **Crypto-ERs**: Blockchain-based emergency funds where contributors vote on covering members’ bills.
- **AI-Guided Self-Care**: Apps that stabilize patients en route to ERs (e.g., tourniquet tutorials, overdose reversal guidance).
---
### **8. **Reform Malpractice to Reduce Defensive Medicine**
- **“No Pay, No Harm” Liability**: If a patient doesn’t pay, they can’t sue for malpractice (incentivizing upfront pricing).
- **Safe Harbor Protocols**: ERs using approved, cost-effective treatments (e.g., generics) get immunity from lawsuits.
---
### **The Uncomfortable Truth**
A free market in emergency care requires accepting that **not everyone will be saved**—just as not everyone can afford a Ferrari. The alternative is the current U.S. model, which *pretends* to save everyone but bankrupts millions and still leaves 30% of ER visits unmet due to overcrowding.
By legalizing tiered care, deregulating monopolies, and forcing transparency, you create a system where:
- **Elites** pay premium prices for cutting-edge emergency care.
- **Most** get “good enough” stabilization at reasonable costs.
- **Some** choose cheap, high-risk options (or none at all).
This isn’t pretty, but it’s honest—and arguably more ethical than today’s hidden rationing and financial toxicity.
-

@ 000002de:c05780a7
2025-01-30 21:17:26

> The Debian Publicity Team will no longer post on X/Twitter. We took this decision since we feel X doesn't reflect Debian shared values as stated in our social contract, code of conduct and diversity statement. X evolved into a place where people we care about don't feel safe.
A couple red flags in this post that explain their actions.
1. Shared values - projects that have broad values statements are prone to isolation over time
2. Social contract - that's a meaningless vapid term
I have no issue with code of conduct guidelines or having value statements but when you pick sides on cultural divides and things that are not at all related to the logical objective of a project you are going to end up where Debian has landed.
X has its issues, I'm not a fan but the reasoning behind this seems really off.
One Debian user responded with what I thought was a good summary of why this is a bad move.
> I'm a long-time Debian user and fan, and am also one of the champions for using Debian in space-based applications at NASA.
> IMO this is a short-sighted and foolish decision. The notion of "values" is bring sadly misapplied here.
> I urge you to reconsider. More channels of communication, even with those whom you disagree with, is good for both Debian and your user community.
I'm not into the "anti-woke" or "woke" crap and I dare say most people that use Linux do not care about either side very much at all. A loud minority has been gaining power in these types of projects for a long time. Today we have very loud counters to that group that also can be annoying and out of line.
Will be interesting to watch this all unfold over the next few years. Conservatives seem to be running victory laps and I think that's not only premature but also counter-productive.
I can see leaving X for other reasons.
* Debian users are really using it to communicate with the project
* The Debian publicity team isn't seeing very much of a response for their efforts
* X has become more about politics than tech and communication
* Specific examples of how X is causing issues for the project
They do say this
> X evolved into a place where people we care about don't feel safe.
That's too bad but honestly I don't buy it. Maybe I don't spend enough time on X to have much credibility on this but I'm skeptical of this being the case.
originally posted at https://stacker.news/items/870437
-

@ ec42c765:328c0600
2025-02-05 23:16:35
てすと
nostr:nevent1qqst3uqlls4yr9vys4dza2sgjle3ly37trck7jgdmtr23uuz52usjrqqqnjgr
nostr:nevent1qqsdvchy5d27zt3z05rr3q6vvmzgslslxwu0p4dfkvxwhmvxldn9djguvagp2
test
てs
-

@ 1cb14ab3:95d52462
2025-01-30 18:45:41















---
#### Other Photo Series by Hes:
[City Series](https://hes.npub.pro/post/1734817611982/)
[Structural Reflections](https://hes.npub.pro/post/1720570208841/)
---
#### More from Hes:
[Long Form](https://hes.npub.pro/)
[Art Portfolio](https://hesart.npub.pro/)
[Online Store](https://plebeian.market/community/1cb14ab335876fc9efc37d838ba287cf17e5adcccb20bf6d49f9da9695d52462:hesmart-ym3fcufdfz)
[Travel Guides](https://hes.npub.pro/tag/travel/)
[Photography](https://hes.npub.pro/tag/photography/)
[Writings](https://hes.npub.pro/tag/money)
---
*All images are credit of Hes, but you are free to download and use for any purpose. If you find joy from these photos, please feel free to send a zap. Enjoy life on a Bitcoin standard.*
-

@ ec42c765:328c0600
2025-02-05 22:05:55
# カスタム絵文字とは
任意のオリジナル画像を絵文字のように文中に挿入できる機能です。
また、リアクション(Twitterの いいね のような機能)にもカスタム絵文字を使えます。

# カスタム絵文字の対応状況(2025/02/06)

カスタム絵文字を使うためにはカスタム絵文字に対応した[クライアント](https://welcome.nostr-jp.org/tutorial/explore-client.html)を使う必要があります。
※表は一例です。クライアントは他にもたくさんあります。
使っているクライアントが対応していない場合は、クライアントを変更する、対応するまで待つ、開発者に要望を送る(または自分で実装する)などしましょう。
#### 対応クライアント
- [Amethyst](https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst)
- [FreeFrom](https://freefrom.space/)
- [nostter](https://nostter.app/)
- [Rabbit](https://rabbit.syusui.net/)
- [Lumilumi](https://lumilumi.app/)
- [Nos Haiku](https://nos-haiku.vercel.app/)
- [Snort](https://snort.social/)
- [noStrudel](https://nostrudel.ninja/)
ここではnostterを使って説明していきます。
# 準備
カスタム絵文字を使うための準備です。
- Nostrエクステンション(NIP-07)を導入する
- 使いたいカスタム絵文字をリストに登録する
## Nostrエクステンション(NIP-07)を導入する
Nostrエクステンションは使いたいカスタム絵文字を登録する時に必要になります。
また、環境(パソコン、iPhone、androidなど)によって導入方法が違います。
Nostrエクステンションを導入する端末は、実際にNostrを閲覧する端末と違っても構いません(リスト登録はPC、Nostr閲覧はiPhoneなど)。
Nostrエクステンション(NIP-07)の導入方法は以下のページを参照してください。
[ログイン拡張機能 (NIP-07)を使ってみよう | Welcome to Nostr! ~ Nostrをはじめよう! ~ ](https://welcome.nostr-jp.org/tutorial/nip-07.html)
少し面倒ですが、これを導入しておくとNostr上の様々な場面で役立つのでより快適になります。
## 使いたいカスタム絵文字をリストに登録する
以下のサイトで行います。
[emojito](https://emojito.meme/)
右上の**Get started**からNostrエクステンションでログインしてください。
例として以下のカスタム絵文字を導入してみます。
実際より絵文字が少なく表示されることがありますが、古い状態のデータを取得してしまっているためです。その場合はブラウザの更新ボタンを押してください。
[generalJP | カスタム絵文字](https://emojito.meme/a/naddr1qqykwetwv4exzmz22qq3uamnwvaz7tmwdaehgun2vykkkctjdyhxset8w4ex7tnrdakj7q3qa3pvwe2p3v7mnjz6hle63r628wl9w567aw7u23fzqs062v5vqcqqxpqqqp65uhjtrk6)

- 右側の**Options**から**Bookmark**を選択

これでカスタム絵文字を使用するためのリストに登録できます。
# カスタム絵文字を使用する
例としてブラウザから使えるクライアント nostter から使用してみます。
[nostter](https://nostter.app/)
nostterにNostrエクステンションでログイン、もしくは秘密鍵を入れてログインしてください。
## 文章中に使用
1. **投稿**ボタンを押して投稿ウィンドウを表示
2. **顔😀**のボタンを押し、絵文字ウィンドウを表示
3. ***タブ**を押し、カスタム絵文字一覧を表示
4. カスタム絵文字を選択
5. : 記号に挟まれたアルファベットのショートコードとして挿入される

この状態で投稿するとカスタム絵文字として表示されます。
カスタム絵文字対応クライアントを使っている他ユーザーにもカスタム絵文字として表示されます。
対応していないクライアントの場合、ショートコードのまま表示されます。

ショートコードを直接入力することでカスタム絵文字の候補が表示されるのでそこから選択することもできます。

## リアクションに使用
1. 任意の投稿の**顔😀**のボタンを押し、絵文字ウィンドウを表示
2. ***タブ**を押し、カスタム絵文字一覧を表示
3. カスタム絵文字を選択

カスタム絵文字リアクションを送ることができます。

# カスタム絵文字を探す
先述した[emojito](https://emojito.meme/)からカスタム絵文字を探せます。
例えば任意のユーザーのページ [emojito ロクヨウ](https://emojito.meme/p/npub1a3pvwe2p3v7mnjz6hle63r628wl9w567aw7u23fzqs062v5vqcqqu3sgh3) から探したり、 [emojito Browse all](https://emojito.meme/browse) からnostr全体で最近作成、更新された絵文字を見たりできます。
また、以下のリンクは日本語圏ユーザーが作ったカスタム絵文字を集めたリストです(2025/02/06)
※漏れがあるかもしれません
[日本ユーザー作 カスタム絵文字](https://nostviewstr.vercel.app/npub17hczqvxtfv3w69wr6lxrttnpdekwdwel55mld60fr24zwjuu6utqtj8mjx/10030)
各絵文字セットにある**Open in emojito**のリンクからemojitoに飛び、使用リストに追加できます。
-----------
以上です。
次:Nostrのカスタム絵文字の**作り方**
Yakihonneリンク [Nostrのカスタム絵文字の作り方](https://yakihonne.com/article/_@lokuyow.github.io/1707912490439)
Nostrリンク nostr:naddr1qqxnzdesxuunzv358ycrgveeqgswcsk8v4qck0deepdtluag3a9rh0jh2d0wh0w9g53qg8a9x2xqvqqrqsqqqa28r5psx3
-----------
# 仕様
[NIP-30 Custom Emoji](https://github.com/nostr-protocol/nips/blob/master/30.md)
[NIP-30 カスタム絵文字(和訳)](https://github.com/nostr-jp/nips-ja/blob/main/30.md)
-

@ cc8d072e:a6a026cb
2025-01-30 17:20:24
Recently, I had the opportunity to work as an advisor for an AI agent project, which is created by team with a lot of fin-tech software develop experience. As we coded together, their real-time questions and challenges provided unique insights into the hurdles software engineers face when transitioning to AI development. They would pause at moments that most AI engineers take for granted - "How can we be sure the agent understood correctly?", "What if the model makes a mistake?", "How do we handle the uncertainty?" These weren't just isolated questions; they represented the fundamental paradigm shift required when moving from traditional software engineering to AI development. And thats why i think it might be worthy to take sometime write down this article and if you are going to start your first AI agent programming, spending 5 min reading t his will save you a lot of time later.
### 1. Shifting from Deterministic to Probabilistic Thinking
- Traditional software engineering deals with deterministic outcomes
- AI systems operate on probability rather than certainty
- Engineers need to adapt from "100% correct" mindset to accepting probabilistic outcomes
- Blockchain developers may find this particularly challenging due to their background in exact, deterministic systems
### 2. Understanding Core AI Concepts
(There are a lot of concepts to understand, but i will focus on the most frequently asked ones)
#### Memory Management
- **Short-term Memory**: Implemented through conversation context
- **Long-term Memory**: Implemented through vector databases (RAG - Retrieval Augmented Generation)
- Context length management is crucial due to LLM token limitations
#### Language Models and Fine-tuning
- Base models (like GPT) provide general intelligence
- Domain-specific knowledge can be added through:
- Fine-tuning with custom datasets
- Adding RAG layers for specific knowledge domains
### 3. Technical Framework Knowledge
#### Essential Tools and Frameworks
- Vercel AI SDK (if you are a typescript guy)
- LangChain (alternative option)
- Different models(openai, claude, gemini, etc, of course, now, deepseek. the temu in llm )
- Understanding of prompt engineering
#### Multi-Agent Systems
- Agents can communicate through natural language
- Inter-agent communication requires careful system design
- Implementation of thought processes and decision-making loops
- Safety considerations for system commands and operations
### 4. Language and Localization Considerations
- System prompts typically work best in English
- Multi-language support requires careful handling:
- Input translation to English
- Processing in English
- Output translation to target language
- Model performance varies across different languages
### 5. Safety and Error Handling
- Implementing validation layers for critical operations
- Understanding model limitations and potential errors
- Building feedback mechanisms to detect misunderstandings
## Conclusion
Transitioning from software engineering to AI engineering requires a significant mindset shift. While traditional software engineering skills remain valuable, understanding probabilistic systems, language models, and AI-specific architectures is crucial. The key is to balance innovation with practical safety considerations, especially when dealing with critical applications.
Remember that AI systems are not perfect, and building robust applications requires careful consideration of their limitations and appropriate safety measures. Start with existing frameworks and gradually build up complexity as you become more comfortable with AI-specific concepts and challenges.(the conclusion part is written by chatgpt, did you notice? :))
-

@ ec42c765:328c0600
2025-02-05 20:30:46
# カスタム絵文字とは
任意のオリジナル画像を絵文字のように文中に挿入できる機能です。
また、リアクション(Twitterの いいね のような機能)にもカスタム絵文字を使えます。

# カスタム絵文字の対応状況(2024/02/05)

カスタム絵文字を使うためにはカスタム絵文字に対応した[クライアント](https://welcome.nostr-jp.org/tutorial/explore-client.html)を使う必要があります。
※表は一例です。クライアントは他にもたくさんあります。
使っているクライアントが対応していない場合は、クライアントを変更する、対応するまで待つ、開発者に要望を送る(または自分で実装する)などしましょう。
#### 対応クライアント
- [Amethyst](https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst)
- [FreeFrom](https://freefrom.space/)
- [nostter](https://nostter.app/)
- [Rabbit](https://rabbit.syusui.net/)
- [Snort](https://snort.social/)
- [noStrudel](https://nostrudel.ninja/)
ここではnostterを使って説明していきます。
# 準備
カスタム絵文字を使うための準備です。
- Nostrエクステンション(NIP-07)を導入する
- 使いたいカスタム絵文字をリストに登録する
## Nostrエクステンション(NIP-07)を導入する
Nostrエクステンションは使いたいカスタム絵文字を登録する時に必要になります。
また、環境(パソコン、iPhone、androidなど)によって導入方法が違います。
Nostrエクステンションを導入する端末は、実際にNostrを閲覧する端末と違っても構いません(リスト登録はPC、Nostr閲覧はiPhoneなど)。
Nostrエクステンション(NIP-07)の導入方法は以下のページを参照してください。
[ログイン拡張機能 (NIP-07)を使ってみよう | Welcome to Nostr! ~ Nostrをはじめよう! ~ ](https://welcome.nostr-jp.org/tutorial/nip-07.html)
少し面倒ですが、これを導入しておくとNostr上の様々な場面で役立つのでより快適になります。
## 使いたいカスタム絵文字をリストに登録する
以下のサイトで行います。
[emojito](https://emojito.meme/)
右上の**Get started**からNostrエクステンションでログインしてください。
例として以下のカスタム絵文字を導入してみます。
実際より絵文字が少なく表示されることがありますが、古い状態のデータを取得してしまっているためです。その場合はブラウザの更新ボタンを押してください。
[generalJP | カスタム絵文字](https://emojito.meme/a/naddr1qqykwetwv4exzmz22qq3uamnwvaz7tmwdaehgun2vykkkctjdyhxset8w4ex7tnrdakj7q3qa3pvwe2p3v7mnjz6hle63r628wl9w567aw7u23fzqs062v5vqcqqxpqqqp65uhjtrk6)

- 右側の**Options**から**Bookmark**を選択

これでカスタム絵文字を使用するためのリストに登録できます。
# カスタム絵文字を使用する
例としてブラウザから使えるクライアント nostter から使用してみます。
[nostter](https://nostter.app/)
nostterにNostrエクステンションでログイン、もしくは秘密鍵を入れてログインしてください。
## 文章中に使用
1. **投稿**ボタンを押して投稿ウィンドウを表示
2. **顔😀**のボタンを押し、絵文字ウィンドウを表示
3. ***タブ**を押し、カスタム絵文字一覧を表示
4. カスタム絵文字を選択
5. : 記号に挟まれたアルファベットのショートコードとして挿入される

この状態で投稿するとカスタム絵文字として表示されます。
カスタム絵文字対応クライアントを使っている他ユーザーにもカスタム絵文字として表示されます。
対応していないクライアントの場合、ショートコードのまま表示されます。

ショートコードを直接入力することでカスタム絵文字の候補が表示されるのでそこから選択することもできます。

## リアクションに使用
1. 任意の投稿の**顔😀**のボタンを押し、絵文字ウィンドウを表示
2. ***タブ**を押し、カスタム絵文字一覧を表示
3. カスタム絵文字を選択

カスタム絵文字リアクションを送ることができます。

# カスタム絵文字を探す
先述した[emojito](https://emojito.meme/)からカスタム絵文字を探せます。
例えば任意のユーザーのページ [emojito ロクヨウ](https://emojito.meme/p/npub1a3pvwe2p3v7mnjz6hle63r628wl9w567aw7u23fzqs062v5vqcqqu3sgh3) から探したり、 [emojito Browse all](https://emojito.meme/browse) からnostr全体で最近作成、更新された絵文字を見たりできます。
また、以下のリンクは日本語圏ユーザーが作ったカスタム絵文字を集めたリストです(2024/06/30)
※漏れがあるかもしれません
[日本ユーザー作 カスタム絵文字](https://nostviewstr.vercel.app/npub17hczqvxtfv3w69wr6lxrttnpdekwdwel55mld60fr24zwjuu6utqtj8mjx/10030)
各絵文字セットにある**Open in emojito**のリンクからemojitoに飛び、使用リストに追加できます。
-----------
以上です。
次:Nostrのカスタム絵文字の**作り方**
Yakihonneリンク [Nostrのカスタム絵文字の作り方](https://yakihonne.com/article/_@lokuyow.github.io/1707912490439)
Nostrリンク nostr:naddr1qqxnzdesxuunzv358ycrgveeqgswcsk8v4qck0deepdtluag3a9rh0jh2d0wh0w9g53qg8a9x2xqvqqrqsqqqa28r5psx3
-----------
# 仕様
[NIP-30 Custom Emoji](https://github.com/nostr-protocol/nips/blob/master/30.md)
[NIP-30 カスタム絵文字(和訳)](https://github.com/nostr-jp/nips-ja/blob/main/30.md)
-

@ 97c70a44:ad98e322
2025-01-30 17:15:37
There 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](https://github.com/nostr-protocol/nips/pull/1190) 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](https://github.com/nostr-protocol/nips). 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.
-

@ 91bea5cd:1df4451c
2025-02-04 17:24:50
### Definiçã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
-

@ 604e96e0:20279eb2
2023-08-11 18:39:36
notacomment allows you to zap nostr notes when you comment on them. In order to use notacomment, you have to run a script yourself either on your own computer or in the cloud somewhere. To get started open https://github.com/SamSamskies/notacomment in a browser tab.
At this point, I'm sure a lot of you are feeling like this:

Let's breakdown the instructions from the README.
## Prerequisites
Node.js and npm - I suggest installing the latest Node.js LTS version from https://nodejs.org. That should also install npm.
Once installation is complete, open your terminal. On a Mac you can press cmd + spacebar and type in `terminal` to open the terminal. On other platforms, you'll have to ask ChatGPT 😂
.
To verify installation of Node.js type `node -v`. To verify installation type `npm -v`.
It should look something like this:

Leave the terminal open.
## Downloading the code to your computer
The easiest way to download the code is to download the zip file from the GitHub repo. Remember that first link I told you to open? That's the GitHub repo. Click the green button that says `Code` on it and click `Download ZIP` from the menu.

Now unzip the file and then navigate to the folder in the terminal. To navigate to the folder use the `cd` command. If you unzipped the folder in the `Downloads` folder, you can navigate to the folder by typing `cd ~/Downloads/notacomment-main/`.
## Usage With Strike
1. Create an account with Strike if you don't already have one https://strike.me/download/
1. Get a Strike API key with all the payment scopes from https://dashboard.strike.me/
1. Create a .env file and provide NOSTR_NSEC and STRIKE_API_KEY values (see .env.example)
1. Install the dependencies using npm or yarn or whatever your heart desires
1. Make sure you have money in your Strike account
1. Run the script `npm start`
Keep in mind that Strike pays the invoices from your cash balance. This means the payment rounds up to the nearest cent when paying an invoice, so if you set the zap amount to 1 sat, you'll be sending more money to Strike than the person you are zapping with every zap.
## Usage With LNbits
I recommend making a separate wallet from your main LNbits wallet for usage with notacomment in case you accidentally leak the admin key.
1. Create a .env file and provide NOSTR_NSEC, LNBITS_ADMIN_KEY, and LNBITS_URL values (see .env.example)
1. Install the dependencies using npm or yarn or whatever your heart desires
1. Make sure you have sats in your LNbits wallet
1. Run the script `npm start`
## Usage With Nostr Wallet Connect
1. Create a NWC connection string using something like https://nwc.getalby.com/
1. Create a .env file and provide NOSTR_NSEC and NWC_CONNECTION_STRING values (see .env.example)
1. Install the dependencies using npm or yarn or whatever your heart desires
1. Make sure you have sats in your wallet that you generated the NWC connection string with
1. Run the script `npm start`
<br />
<br />
Screenshot of terminal with commands to install dependencies, create .env file, open .env file, and start the script:

-

@ 8d5ba92c:c6c3ecd5
2025-01-30 15:58:03
For me, it’s simple yet profound: a job and labor aren’t the same thing. You don’t have to struggle to perform a task or to meet someone else's unrealistic expectations. In fact, if you genuinely enjoy what you’re doing and believe in its purpose, the results will naturally be better—and everyone benefits.
I’m speaking from the perspective of someone who walked away from a "*well-established career*" multiple times. These days, I might be working more than ever, but I don’t feel tired, frustrated, or burned out. The radical change I made—leaving the "*professional fiat world*" behind—wasn’t easy, but I’ve never regretted it. Now, working fully in Bitcoin, I feel more motivated and satisfied than ever before.
Sure, it's not always straightforward.
This lifestyle definitely comes with its challenges. But those challenges don’t crush me. Just the opposite. When combined with a sense of freedom, they become opportunities for growth—something I truly value. It’s a completely different experience compared to most jobs rooted in the old system.
I’m not saying working in Bitcoin is all sunshine and rainbows, nor am I criticizing anyone still working in fiat. What I’m trying to emphasize is the core message of that quote:
## Do what you love, and you’ll never work a day in your life...
Read it aloud and think about your last couple of jobs.
How did you feel? Did you find fulfillment and satisfaction, or was it more like a form of slavery that made you dread going to bed and waking up every morning?
I didn’t really have those feelings, except for one corporation at the beginning of my career, which gave me a hard time but also taught me valuable lessons. Aside from that experience, most of my jobs weren’t too bad—no need to complain. Still, I often questioned my situation: '*Seriously, why do I have to do this or that if I know it doesn’t make sense?*'
Doing things you don’t believe in can lead to frustration, often in ways you might not even realize, yet every time, significantly affecting your well-being and the people around you.
Now, I hardly know what inner anger means.
I wake up happy, full of passion and ideas. I don’t track the hours as they pass; instead, I focus on all the tasks I complete and how they make a difference for me and others. Yes, I love what I do. And returning to the main point of this article, I shouldn’t even see it as work, even though in practice it definitely is.
The key here is a mix of independence, purpose, and self-determination. Bitcoin has helped me achieve that to a level that’s hard to break.
## A Fresh Take on The Market
I also remember that 5-7 years ago, especially for non-devs, Bitcoin-based jobs weren’t as accessible as they are now (which is probably why I stayed in my traditional career for so long...). It’s really only in the last, maybe 2-3 years that things have changed. With so many areas expanding beyond just mining and tech-related stuff, and new interesting projects popping up regularly, there’s almost any position you can imagine to jump into.
According to a recent report by [Bitvocation](https://linktr.ee/bitvocation) '69% of Bitcoin jobs are non-developer roles'. Also, more than half of available positions in 2024 offered remote opportunities, giving job seekers extra flexibility. Bitcoin is borderless—and so are many of the jobs in this space. If you’ve ever thought working in Bitcoin was out of reach, think again—and check this out "[BITCOIN JOB MARKET DATA, 2024 Report](https://drive.google.com/file/d/1ZFnYP949GzssQHA9wcjHTeW4cDiZIWvM/view)".
One tip from my experience: a good option is to start with a part-time role while keeping your traditional fiat job for more stability, especially at the beginning. After a while, you’ll gain more confidence and see which direction you want to go. Or, if you position yourself so that you don’t need to earn a lot for the next 3-6 months, consider finding a project- or task-based Bitcoin job, maybe even just an internship. Meanwhile, you might decide to focus on building something unique on your own. It can feel amazing! You’ll gain valuable skills, sharpen your experience, and better understand which options work best for your future.
You see, just like in nature, balance is key.
You don’t have to run before you can walk.
What I’m saying is this:
**The choice is yours, as long as you plan ahead + learn, while staying true to your needs, beliefs, and priorities.**
If you want it, do it. Starting a career in Bitcoin is possible, and I have a feeling this space will grow even faster in the next few years. Yes, there will still be ups and downs (hello, bear markets!), but if you plan thoughtfully, there’s not much to worry about.
We’re still early—Bitcoin is only 16 years old—but if you’ve been following this space, you’ve probably seen how dynamic and resilient it is. If you’ve ever thought about working in Bitcoin, now is the time to rethink the possibilities :)))
BTC Your Mind. Let it Beat.
Şelale
-

@ 83279ad2:bd49240d
2025-01-24 09:15:37
備忘録として書きます。意外と時間がかかりました。全体で1時間くらいかかるので気長にやりましょう。
仮想通貨取引所(販売所ではないので、玄人が使えばお得らしい)かつBitcoinの送金手数料が無料(全ての取引所が無料ではない、例えばbitbankは0.0006bitcoinかかる)なので送金元はGMOコインを使います。(注意:GMOコインは0.02ビットコイン以下は全額送金になってしまいます)
今回はカストディアルウォレットのWallet of Satoshiに送金します。
以下手順
1. GMOコインでbitcoinを買います。
2. GMOコインの左のタブから入出金 暗号資産を選択します。
3. 送付のタブを開いて、+新しい宛先を追加するを選択します。
4. 送付先:GMOコイン以外、送付先ウォレット:プライベートウォレット(MetaMaskなど)、受取人:ご本人さま を選んで宛先情報の登録を選ぶと次の画面になります。<br>
5. 宛先名称にwallet of satoshi(これはなんでも良いです わかりやすい名称にしましょう) wallet of satoshiを開いて、受信→Bitcoin On-Chainからアドレスをコピーして、ビットコインアドレスに貼り付けます。<br>
6. 登録するを押します。これで送金先の登録ができました。GMOコインの審査がありますがすぐ終わると思います。
7. ここから送金をします。送付のタブから登録したビットコインの宛先リストwallet of satoshiを選択し、送付数量と送付目的を選択して、2段階認証をします。<br>
8. 実行を押せば終わりです。もうあなたがやることはありません。送金が終わるのを40分くらい眺めるだけです。<br>
8. 取引履歴のタブから今の送金のステータスが見れます。<br>
9. 15分くらい待つとステータスが受付に変わります。<br>
10. 20分くらい待つとトランザクションIDが表示されます。 <br>
<br>この時点からwallet of satoshiにも送金されていることが表示されます。(まだ完了はしていない) <br>

11. ステータスが完了になったら送金終わりです。<br> <br> wallet of satoshiにも反映されます。<br> 
-----------
お疲れ様でした!
-

@ 6e75f797:a8eee74e
2023-08-07 13:16:42
Last night I started a nostr community multiplayer instance for No Man's Sky [on ZapStream](https://zap.stream/) and before we knew it, we had 4 Nostrichs arriving on the genesis planet to join the fun.

NSM is an deterministic, procedurally generated open universe where players can explore, quest, build, combat and have fun together. Every new system discovered is generated when the first Traveller enters the system making the game a unique experience for any open world gaming fan.
If you fancy joining us in the Nostrverse let me know and I'll friend you in #NMS and on Steam or Epic. If you just want to watch the fun, participate in naming systems, planets, fauna and flora come and hang out in my stream or the stream of [Oceanbee](nostr:npub1wqxxe0cjaxnvmrv4lkvx8d5dlft7ewswyn09w5v7fg7642fgzm7srucxws), [HolgerHatGarKeineNode](nostr:npub1pt0kw36ue3w2g4haxq3wgm6a2fhtptmzsjlc2j2vphtcgle72qesgpjyc6) or [taette](npub1yh0dl6pazf55025qvp860lstpscuy0kj2a5lfhxlk400m968vgpql5vsnd).

### If you already own NMS, feel free to add me!
My NMS friend code is: EMAZ-KMHT-ZPFXP
See you in space Traveller! - TheGrinder
-

@ cbd2779f:72a5b029
2025-01-30 15:08:13
Have a few questions pertaining to setting up a new node. Basically, I always seems to be unsure about syncing to graph, after syncing to chain. Consider setting up a new node from scratch, or migrating perhaps, and you want to do an initial setup.
1. How long does it take?
2. What factors determine how long it takes?
3. Is the graph a universal graph that is identical from each nodes perspective?
So far, I'm monitoring progress but tailing logs, looking for clues:
`tail -n 100 /data/lnd/logs/bitcoin/mainnet/lnd.log | grep GRPH`
I can find some relevant clues like:
```
2025-01-30 15:24:54.843 [INF] GRPH: Processed channels=56 updates=59 nodes=15 in last 59.823699481s
```
and then checking with: `lncli getinfo | grep -E 'synced|peers` which outputs
```
"num_peers": 3,
"synced_to_chain": true,
"synced_to_graph": false,
```
At the moment, I've been experimenting with pruned blockchains and this outputs a lot of errors (I believe) relating to not being able to verify UTXOs as I have `ignore-historical-gossip-filters set to true.
Any further suggestions on how to better make sure things are happening under the hood when setting up a new node, what to look for in the logs or how to know the verification progress?
originally posted at https://stacker.news/items/869944
-

@ 7d33ba57:1b82db35
2025-02-15 10:59:27
“Phoneography” is photography using a smartphone instead of a traditional camera.
Here are some solid phoneography tips to enhance your shots:
1. **Master the Basics**
* Clean the lens – Phones are handled all day, and a smudged lens can ruin a shot.
* Tap to focus – Always tap on your subject to ensure it's sharp.
* Use gridlines – Turn on the rule of thirds grid for better composition.
2. **Lighting is Everything**
* Natural light > Flash – Soft morning or golden hour light creates the best results.
* Use reflections & shadows – They add depth and creativity to your shots.
* Adjust exposure manually – Tap and slide up/down to brighten or darken.
3. **Composition Tricks**
* Leading lines – Roads, walls, and fences guide the viewer's eye.
* Framing – Use windows, doors, or natural elements to frame your subject.
* Symmetry & patterns – Create balance and visual interest.
4. **Get Creative with Angles**
* Low angles – Make subjects look larger and dramatic.
* Overhead (flat lay) – Great for food, art, or storytelling shots.
* Close-ups & textures – Capture details for a unique perspective.
5. **Edit Like a Pro**
* Use editing apps – Lightroom Mobile, Snapseed, VSCO for better control.
* Don’t overdo filters – Subtle adjustments in contrast, color, and sharpness are best.
* Shoot in RAW (if your phone allows) – More flexibility in post-processing.
6. **Capture Motion & Time**
* Use burst mode – Great for action shots and selecting the best frame.
* Long exposure apps – Create light trails or smooth water effects.
* Slow-motion & time-lapse – Add dynamic storytelling elements.
7. **Know Your Phone’s Camera Features**
* Ultra-wide & telephoto lenses – Experiment with different focal lengths.
* Night mode – Helps capture better low-light shots without excessive noise.
* Portrait mode – Blurs the background for a professional look.
-

@ 21ac2956:09d1e2df
2025-01-22 15:27:00
## [kakoi](https://github.com/betonetojp/kakoi) の仕様についてのメモ
### キーボード操作
* 左手での操作に最適化
| キー | 動作 |
|:-|:-|
| ESC | 設定画面 |
| F1 / F12 | ポストバーの表示と非表示 |
| F2 | 時間の表示と非表示 |
| F3 | ユーザーアイコンの表示と非表示 |
| F4 | 名前の表示と非表示 |
| F5 | Geminiによるタイムラインまとめ画面を表示 |
| F9 / Z | コンテンツの折り返し表示の切り替え (余白ダブルクリックでも動作) |
| F10 | ユーザーリストとキーワード通知の設定画面 (余白右クリックでも動作) |
| F11 | メイン画面の表示と非表示 (ポストバー表示) |
| Shift + W | イベント最上行へ移動 |
| W / ↑| イベント選択上移動 |
| S / ↓ | イベント選択下移動 |
| Shift + S | イベント最下行へ移動 |
| A / ← | Webビューを開く (イベントを右クリックでも動作) |
| F / → | リアクションを送信 (イベントをダブルクリックでも動作) |
| 1 ~ 0 | リアクションを選択 |
| R | 返信 |
| B | リポスト |
| Q | 引用 |
| C | Webビューを閉じる |
| Ctrl + Shift + A | メイン画面をアクティブにする |
### タイムライン
* kind:1, 6, 7, 16を取得して表示する
* フォロイーの名前の前には * が付く
### フォローリスト(kind:3)
* 参照のみで更新はしない
* F10 で開くユーザーリストでユーザーを選択し petname セルをクリックすることで未フォローユーザーにもペットネームを設定可能(ローカル保存)
### プロフィール(kind:0)
* F10 で開くユーザーリストでユーザーを選択し picture セルをクリックすることでユーザーのアイコン表示を変更可能(ローカル保存)
### 返信([NIP-10](https://github.com/nostr-protocol/nips/blob/master/10.md) kind:1)
* kakoi のタイムラインに流れるすべてのイベント種に返信可能とする
* スレッドを考慮せず、単一イベントへの単発返信とする
* e タグは marker と返信先 pubkey は設定していない。 relay-url には空文字を設定
```json
["e", "返信先 event-id", ""]
```
* p タグは 返信先 pubkey ひとつだけを指定
### リポスト([NIP-18](https://github.com/nostr-protocol/nips/blob/master/18.md) kind:6 , 16)
* kakoi のタイムラインに流れるすべてのイベント種をリポスト可能
* kind:1はkind:6。その他はkind:16でリポストする
* e タグは relay-url に空文字を設定
```json
["e", "リポスト元 event-id", ""]
```
### 引用([NIP-18](https://github.com/nostr-protocol/nips/blob/master/18.md) kind:1)
* q タグは relay-url に空文字を設定
```json
["q", "引用元 event-id", ""]
```
-

@ a012dc82:6458a70d
2025-01-30 14:09:20
In the world of finance and politics, few topics have garnered as much intrigue and debate as Bitcoin. This cryptocurrency, emerging from the fringes of the internet, quickly captured the imagination of investors, tech enthusiasts, and politicians alike. Its promise of decentralization and freedom from traditional banking systems made it a hot topic in political circles, particularly in Canada. However, as quickly as it rose to prominence, Bitcoin has seemingly receded from the political spotlight.
**Table Of Content**
- The Political Heyday of Bitcoin
- The Turning Tide: Bitcoin's Decline in Political Relevance
- The Regulatory Response and Industry Evolution
- The Future of Bitcoin and Cryptocurrencies in Politics
- Conclusion
- FAQs
**The Political Heyday of Bitcoin**
**The Surge of Interest**
During its peak, Bitcoin was not just a financial asset but a symbol of technological progress and financial autonomy. Politicians, especially in Canada, were quick to recognize its potential. Figures like Conservative Leader Pierre Poilievre championed Bitcoin, seeing it as a tool to empower individuals and a hedge against inflation.
**Bitcoin in Policy and Legislation**
Bitcoin's rise in value and popularity led to serious discussions about its role in the economy and its regulation. Debates in parliament and committees centered around how to integrate cryptocurrencies into the national financial system, protect investors, and harness the potential of blockchain technology.
**The Turning Tide: Bitcoin's Decline in Political Relevance**
**The Market's Volatility**
The volatile nature of Bitcoin, marked by dramatic price fluctuations, began to cast doubts in the political arena. The peak value of over $80,000 was followed by a steep decline, shaking confidence in its stability as an asset.
**Changing Political Narratives**
As the market fluctuated, so did the enthusiasm among politicians. The once vocal advocates like Poilievre became less outspoken about their cryptocurrency holdings, reflecting a broader shift in the political narrative around Bitcoin.
**The Regulatory Response and Industry Evolution**
**Government and Regulatory Bodies**
The initial excitement around Bitcoin led to legislative efforts and regulatory discussions. However, the lack of concrete actions and clear policies from the government left the regulatory landscape ambiguous. Independent bodies like the Canadian Securities Administrators stepped in to fill the void with guidelines and notices.
**Industry Persistence Amidst Political Apathy**
Despite the reduced political interest, the cryptocurrency industry continued to evolve. Developers and entrepreneurs in the space kept innovating, pushing the boundaries of blockchain technology and exploring new applications beyond financial transactions.
**The Future of Bitcoin and Cryptocurrencies in Politics**
**Lessons Learned and the Path Forward**
The rise and fall of Bitcoin in the political arena offer valuable lessons about the intersection of technology, finance, and politics. It highlights the need for a balanced approach to new technologies, combining enthusiasm with prudent regulation.
**The Ongoing Debate and Potential Resurgence**
While Bitcoin may have receded from the immediate political discourse, the debate around cryptocurrencies is far from over. As the technology matures and stabilizes, it may once again find its way into political conversations, potentially reshaping the financial landscape in ways yet to be imagined.
**Conclusion**
Bitcoin's journey through the political arena has been a tale of rapid rise, intense debate, and a quiet exit. However, this is not the end of the story for Bitcoin or cryptocurrencies. As the technology evolves and the world adapts, these digital assets may yet redefine the boundaries between technology, finance, and politics. The quiet exit of Bitcoin from the political stage today may just be the prologue to a more significant role in the future.
**FAQs**
**Why did Bitcoin become a topic in Canadian politics?**
Bitcoin garnered political interest due to its potential as a decentralized financial system, promising autonomy from traditional banking and a hedge against inflation.
**Who were some of the political advocates of Bitcoin in Canada?**
Conservative Leader Pierre Poilievre was among the notable political advocates, promoting Bitcoin as a tool for financial empowerment.
**What caused Bitcoin to lose its appeal in politics?**
Bitcoin's appeal waned due to its market volatility, the steep decline in its value, and shifting political narratives.
**How did the government respond to Bitcoin's rise?**
The government's response involved discussions on regulation and integration into the financial system, but concrete actions were limited.
**What is the future of Bitcoin in politics?**
While currently less prominent, the ongoing evolution of cryptocurrency technology may lead to Bitcoin re-entering political discussions in the future.
**That's all for today**
**If you want more, be sure to follow us on:**
**NOSTR: croxroad@getalby.com**
**X: [@croxroadnews.co](https://x.com/croxroadnewsco)**
**Instagram: [@croxroadnews.co](https://www.instagram.com/croxroadnews.co/)**
**Youtube: [@croxroadnews](https://www.youtube.com/@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.*
-

@ 044da344:073a8a0e
2025-02-15 10:56:45
Vielleicht hätte Matthias Gehler noch ein drittes Mal ansetzen sollen. Versuch Nummer eins, schreibt er ganz zum Schluss, sei in der Tonne gelandet, nachdem ein Freund gesagt habe, dass niemand ein weiteres Sachbuch über die deutsche Wiedervereinigung brauche – vor allem nicht von einem Autor, der live dabei war. Deshalb sei dann „viel Subjektives“ in den Text eingeflossen. Nun: So viel ist das gar nicht. Freundschaften, steht ebenfalls im „Nachtrag“, seien ihm wichtiger. Und wenn es wirklich Interesse an „allen möglichen erlebten Geschichten aus jener Zeit“ geben sollte, dann schreibe er halt ein zweites Buch (S. 252).
Ich melde hiermit Bedarf an. Matthias Gehler, Jahrgang 1954, war Redakteur beim CDU-Blatt *Neue Zeit*, als die Dinge ins Rutschen kamen. Er wurde Referent von Martin Kirchner, dem neuen Generalsekretär der Partei, und nach der Wahl vom 18. März 1990 Sprecher der Regierung von Lothar de Maizière. Gehler hat mit Kohl gesprochen, mit Gorbatschow, mit dem ersten Bush. Er war Vorgesetzter von Angela Merkel, später dann Chefredakteur beim MDR und immer wieder im Dunstkreis der Macht, mindestens bei irgendwelchen Jubiläen. Es gibt Fotos davon im Buch.
Es gibt auch Geschichten, so ist es nicht. Dass der kleine Dünne und der große Dicke nicht miteinander konnten, wusste man schon, auch von Lothar de Maizière persönlich. Da man seine eigenen Qualitäten schlecht selbst würdigen kann, ist es gut, dass Matthias Gehler noch einmal klarmacht, was die DDR an ihrem letzten Regierungschef hatte. Eine Arbeitsbiene, mit allen juristischen Wassern gewaschen, in jeder Hinsicht gebildet und schon deshalb einem Machtmenschen wie Helmut Kohl überlegen und suspekt zugleich. Gehler erzählt ein paar köstliche Anekdoten über die beiden, die ich hier nicht verraten will, und hat auch einen Seitenhieb für Regine Hildebrandt, die bis heute ein Nimbus umgibt, der offenbar nicht ganz zur historischen Wirklichkeit passt. Die SPD-Frau mit dem losen Mundwerk, so erzählt es jedenfalls Gehler, sei oft blank gewesen, wenn es um das Klein-Klein der Regierungsarbeit ging. Eine Vorlage aus ihrem Ministerium? „Die gibt es nicht.“ (S. 154)
Überhaupt: Es sind die Miniaturen, die dieses Buch wertvoll machen. Die Arroganz von Gorbatschow, sicher, und die Mentalität der Berater aus dem Westen, die sich im Einzelfall auch als „Blockwart“ aufgeführt haben (S. 94), mehr aber noch das Porträt von Franz Jahsnowski, DDR-Diplomat, schon Protokollchef von Ulbricht und nun wegen seiner Erfahrung und seiner Kontakte auch für die Neuen nicht zu ersetzen. Gehler nutzt einen Abend in Brüssel, um aus diesem Leben zu berichten und damit in gewisser Weise auch über die DDR und den Umgang mit ihrem Erbe.
> Als Regierung haben wir Honeckers Protokollchef und seinen Stab übernommen – offiziell aus Wertschätzung, inoffiziell, weil der Laden einfach weiterlaufen musste. Die Geschichte kennt keine Stunde Null. Das geht nur mit fähigem Personal. Mancher Altbundesbeamte hätte es lieber anders gehabt. Wir mussten den Beratern von drüben immer wieder erklären, warum wir Menschen des alten Apparates übernommen haben. Jahsnowski steht für viele Meister ihres Fachs, die plötzlich systementwurzelt zwischen den Welten schwebten und ihren Glauben an den Sozialismus überprüften. (S. 124)
Ich schreibe diese Passage ab, weil ich vermute: Hier ist mein Bedarf nach mehr entstanden. Mag Matthias Gehler seine Merkel-Geschichten für sich behalten. Geschenkt. Ich gönne ihm auch die Euphorie der ersten Amerika-Reise und all das, was jetzt über die Politprominenz jener Tage allenfalls zwischen den Zeilen steht, vielleicht auch aus Angst vor der eigenen Courage. Aber die Ambivalenz, die im Jahsnowski-Porträt aufscheint und dann wieder in der Asbest-Affäre um den Palast der Republik: Da geht noch was. Anders formuliert: Wenn immer wieder die große Freiheit beschworen wird, bei den Märzwahlen 1990 genauso wie bei der letzten Volkskammer, dann ist das für meinen Geschmack zu viel Regierungssprecher und zu wenig Zeitzeuge. Matthias Gehler weiß, wie es gelaufen ist (eine „Materialschlacht“, bei der die CDU sogar mit „Nahe-Weinflaschen“ punktete), und könnte sich Schützenhilfe holen, bei [Daniela Dahn](https://medienblog.hypotheses.org/9726) zum Beispiel. Also ein zweites Buch, bitte.

*Matthias Gehler: „Wollen Sie die Einheit – oder nicht?“ Erinnerungen des Regierungssprechers. Berlin: edition ost 2024, 256 Seiten, 18 Euro.*
[Freie Akademie für Medien & Journalismus](https://www.freie-medienakademie.de/)
[Unterstützen](https://www.freie-medienakademie.de/unterstuetzen)
*Titelbild*: 1990 am Brandeburger Tor. Foto: Merit Schambach (https\://www\.wir-waren-so-frei.de/index.php/Detail/Object/Show/object\_id/392)
-

@ 5a261a61:2ebd4480
2025-01-30 09:37:26
The idea of the **Bean Bag Game** is quite ingenious. I read about it on a BDSM-positive blog. Here’s how it works:
1. **Setup**:
- Take a small cloth bag and add **10 white beans** (rewards/pleasure) and **10 black beans** (punishment/discomfort).
- When it’s time to play, draw **two beans**:
- **First bean** (the *tone*): Determines if the activity will be **pleasant** (white) or **uncomfortable** (black).
- **Second bean** (the *task*): Decides whether you get a **reward** (white) or **punishment** (black).
---
### **Combination Interpretations**:
- **Black + Black**\
*"No fun, just work."*
- Boring/challenging tasks you’d normally postpone: **window cleaning**, **scrubbing bathroom tiles**, **polishing shoes**.
- Could also mean **no playtime** (e.g., "Go straight to bed"). Pure duty – no pleasure, only discipline.
- **White + Black**\
*"Work with a twist."*
- Punishment or chores, but with a *kinky edge*:
- Clean the bathroom **wearing a vibrating butt plug**.
- Wash dishes **with nipple clamps**; add a clothespin to your body for every minute over the time limit.
- Still **no orgasms** – the black bean ensures denial.
- **Black + White**\
*"Pleasure with pain (or humiliation)."*
- Mix stimulation and discomfort:
- Ride a dildo **with weighted nipple clamps**.
- Give a "lap dance" to a teddy bear with a strapon.
- Chat online as a "perfect plaything" for others **without touching yourself**.
- Again, **no orgasms** – the black bean overrules the white.
- **White + White**\
*"Lucky draw… but denial is optional."*
- Freedom to indulge, though I often choose **self-denial** anyway. Examples:
- Edge for 30 minutes, then ask permission to climax (50% chance).
- Use toys freely, but end the session frustrated.
---
### **The Dynamic Ratio Twist**:
- The starting **10:10 ratio isn’t fixed**. Adjust it based on behavior:
- **Good deeds?** Swap a black bean for a white one.
- **Mistakes?** Replace a white bean with a black one.
- Single beans can also decide smaller stakes, like:
- *"Should this edge turn into a ruined orgasm?"*
- *"Do I deserve dessert tonight?"*
---
### **Why It Works**:
- **Control**: The beans dictate your fate, but you tweak the odds through obedience.
- **Flexibility**: Use pairs for major tasks, single beans for quick decisions.
- **Psychological tease**: Even "white + white" can mean denial – because *you* choose the rules.
-

@ 0463223a:3b14d673
2025-02-15 08:26:21
*disclaimer - image has no relation to article.
I spend most the time moderately brain dead, how do I know this? By regularly recording my voice. I guess everyone likes to believe they’re pretty smart somehow but listening back to my voice, it is clear I am not. There’s more erms, ums, silences and failure to complete sentences than any fully formed thoughts, the closest to thoughts mostly trail away into silence. I’m not saying this to beat myself up, it’s an observation that I find quite amusing to be honest, It can be quite funny but it’s not exactly what peak performance looks like.
This isn’t ideal so I’m writing these longer form notes to help. Even trying this, I spend way more time blank than typing, I’m gently nudging my brain to try something… a complete thought, I’m not promising anything and it’s unlikely you’re going to read anything illuminating here. Sucks to be you right now right?
A lot of stuff happens doesn’t it? I’ve noticed that it sort of like, happens all the time, like woooaaahhh a thing just happened... and another... and another and they keep happening. I’m resisting to urge the write them out as they happen. I think that service is called The News right? It appears to be linear but I don’t think time is linear? At least not anything beyond a local scale…
I’m sitting in my shed and it's cold, I’ve turned the little heater on but with only 5W of power, it takes a while to heat the space, although once warm, this place holds the heat well, that’s the advantage of using some acoustic treatment for building materials.
I’m trying to evolve around a Value 4 Value economy. I’m struggling tbh. I’m trying things to create value. Over the course of 6 months I’ve generated £100 outside of my usual work. Using money as a metric I’m doing pretty badly. There are people who spend that on a single bottle of wine, and that’s a cheap bottle. But what is value anyway? I don’t know! Maybe someone could do a 16 hour long podcast called What Is Value? A bit like the What Is Money podcast but even longer. 16 hours seems like a sensible length. Were I to host it, 15 hours and 30 minutes would be silence. Maybe that’s a gig for you? I’m just trying out ideas here…
I do get value in other ways though. Playing records for an hour each day and sharing the experience does wonders for my mental health, It keeps my mind open to noises, which no doubt help me in the day job. I also get value from the people who share the time with me, that fact people return each morning suggests they do to. It’s very cool actually. Even if I can’t take credit for Miles Davis and Nightmares On Wax records. It’s still cool. I dig it a lot. I think I’ll keep doing it.
However, I’m still scratching my head how to earn more actual cash. Not that I’m obsessed or anything but it’s the best thing to exchange for food. I tried shoplifting as a kid and I was terrible at it. I didn’t invest the time in getting good at it, I just didn’t want to. More fool me right?
I’ve been doing the sums for setting up a space in town. Including rent, business rates, utilities and paying myself, I’m looking at finding £5,000 per month. Currently I earn between £1,500-£1,800 a month. Not a lot I know. I saw a post someone make looking for work online the other day, they were looking for 10x what I earn. They seem to be pretty good with computers… I bet they’re shit with Phil Collins’ emojis though. So I need to at least 3x the value I can provide in order to make the space work.
There’s probably people reading this thinking ‘get a job’. OK… how about no? I enjoy what I do, that doesn’t mean it’s always fun or not tough but I have a fair amount of autonomy. I don’t think I’m cut out for a ‘job’ but I definitely want to find things I can do which people are happy to swap for cash. This is a different thing all together. A job is targets and performance reviews etc. As I understand it, a person in a suit who earns slightly more than you, tells you if you’re any good on behalf of someone else. If you’re not, instead of telling you to fuck off, they tell you to do more or do better or they’ll tell you to fuck off, trapping you in some weird mind game. And it’s not even their own mind game, it’s a mind game someone else has trapped them into. These chains of mind games can be extremely long and can go through many, many people, literally billions of people find themselves trapped in this weird mind game. It doesn’t sound like my bag at all. I liked the bag James Brown had. That bag was cool.
So I’ll keep thinking… I’m certainly not giving up.
-

@ 91bea5cd:1df4451c
2025-02-04 17:15:57
### Definiçã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
-

@ e3ba5e1a:5e433365
2025-02-04 08:29:00
President Trump has started rolling out his tariffs, something I [blogged about in November](https://www.snoyman.com/blog/2024/11/steelmanning-tariffs/). 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](https://x.com/snoyberg/status/1886035800019599808) 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:
1. The number of apples bought will go down
2. The buyers will pay more for each apple they buy, but not the full amount of the tariff
3. Domestic apple sellers will receive a *higher* price per apple
4. 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](https://docs.google.com/spreadsheets/d/14ZbkWpw1B9Q1UDB9Yh47DmdKQfIafVVBKbDUsSIfGZw/edit?usp=sharing) 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](https://superuser.com/questions/1359731/how-to-create-a-supply-demand-style-chart).
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.
-

@ 955e5a04:c03b3cc3
2025-01-30 08:59:36
Imagine a world where money moves freely, without borders or middlemen telling you what you can or can’t do. That’s the promise of Bitcoin—a digital currency that isn’t controlled by banks or governments. It’s freedom in your pocket.
But with great power comes great responsibility. In Putin’s People, Catherine Belton reveals how Russia’s elite, including Rosneft, strategic sectors, insiders and KGB-connected figures, used financial systems to move billions and shape global politics. Now, #Bitcoin offers a new tool that could bypass sanctions designed to hold such regimes accountable.
Does this make Bitcoin bad? Not necessarily. It’s a reminder of how innovation can outpace regulation. While some might misuse Bitcoin, it also gives people in oppressed regions a lifeline—a way to protect their savings and avoid corrupt systems.
**Can Bitcoin strike a balance between financial freedom and accountability, or is it destined to remain a gray area for both innovation and potential misuse?** Let’s talk!
-

@ e3168078:10f13b2c
2025-01-21 15:44:45
ノス!
最近Umbrel上のn8nを使ってstacker newsの記事を要約するNostr botを作ってみました。
その際にFirecrawlというスクレイピングのSaaSを使っていたんですがセルフホストできるようなので試してみました。
Firecrawlは動的なページも読めたりマークダウンへの変換をしてくれますが無料プランだと1ヶ月500ページの制限があり、セルフホストすれば気兼ねなく使えます!
今回はUmbrel上のPortainerというアプリを使ってFirecrawlを動かせたのでその記録です。
## 手順
まずはUmbrelにPortainerアプリをインストールします。
Poratinerは今回初めて使ったんですが独自のDockerコンテナをUmbrelで動かす際に推奨されているアプリのようです。

アプリを開いてパスワードの初期設定などを済ませるとダッシュボードが表示されるかと思います。
ここでStackという機能を使ってFirecrawlのDocker composeを一括で取り込むことができます。
新しいStackを作成する画面で以下を入力します。
Repository URL: https://github.com/mendableai/firecrawl
Repository reference: refs/heads/main
Compose path: docker-compose.**yaml** (デフォルトがymlになっててハマりました…)

上記に加えてenv varを設定する必要があるんですがPortainerでは上記の画像下部にあるように "Load Variables from .env file" からenvファイルを選択できます。
[Firecrawlのgithub](https://github.com/mendableai/firecrawl/blob/main/SELF_HOST.md)にあるように apps/api/.env.example をダウンロードし以下の内容を更新しPortainerに取り込ませます。
```
USE_DB_AUTHENTICATION=false
TEST_API_KEY=fc-test-key
```
あとはDeploy the stackを押して少し待つとfirecrawlのセットアップ完了です。
## 確認
動作テストにはUmbrelの設定からAdvanced Settings -> Terminal -> Umbrel OSを開き以下のコマンドを実行ししマークダウンが返って来れば成功です。
```
$ curl -X POST http://localhost:3002/v1/scrape -H 'Authorization: Bearer fc-test-key' -H 'Content-Type: application/json' -d '{
"url": "https://example.com",
"formats": ["markdown"]
}'
{"success":true,"data":{"markdown":"Example Domain\n==============\n\nThis domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.\n\n[More information...](https://www.iana.org/domains/example)","metadata":{"title":"Example Domain","ogLocaleAlternate":[],"scrapeId":"7c196348-6561-4ebb-bb8a-9121a29c64b5","viewport":"width=device-width, initial-scale=1","sourceURL":"https://example.com","url":"https://example.com/","statusCode":200}}}
```
またn8n等のUmbrelの他のアプリ(コンテナ)から利用する場合はlocalhostがコンテナ自身になってしまうので別のIP等(172.17.0.1)を使う必要があるのでご注意ください。
([参考](https://community.n8n.io/t/the-service-refused-the-connection-perhaps-it-is-offline-n8n-and-nocodb/33587?utm_source=chatgpt.com))
以上でUmbrel上でのFirecrawlセルフホストができるようになりn8nからも制限なく使えるようになりました。
-

@ 3f770d65:7a745b24
2023-07-31 12:53:38
The following is a collection of Tweets posted on Twitter that documented my entire heart surgery process, from finding out I had an issue, through the surgery, and finally throughout my recovery process. If Elon decides to remove old and unpaid content, I do not want this part of my life to vanish from the Internet. At the time, it was extremely important for my mental health to talk about this whole process and it was therapeutic in my recovery process, reading all of the responses as all of Bitcoin Twitter was behind my success. Thank you all of your kind words, love, and support during this whole process. May my Tweets live on through nostr.
...
Nov 28, 2021
I had open heart surgery 4 days before my 3rd b-day. I've led a healthy & active life since then, zero issues. I had an echocardiogram last week. The results were not good. Heart valve replacement may be in my near future. I am freaking the fuck out. I'll know more on Dec 6th. 😫
Dec 6, 2021
Update: I had my cardiologist appointment today. He said to not worry for now and continue to exercise and live life. In 3 months get another echo done. He doesn't believe the previous other results since I have zero symptoms and wants to do his own interpretation.
Dec 6, 2021
He said if the other results were correct, I may need valve replacement in 6 months to 3 years. However, he doesn't believe the local hospital's results as I said above. He can't form an opinion just yet. He said not to worry over and over again. For now, I'm staying positive!
Mar 7, 2022
Well, it's been three months. I had my follow up this morning. I have severe pulmonic regurgitation. I now need to speak with a specialist and see what my options are for surgery. Neat. 😭
Apr 12, 2022
Well, it looks like I'll need full open heart surgery again to replace my pulmonic valve. Bonus: I'll be part pig. So, I have that going for me. I was assuming that if I had to have this done it would be much less invasive, so I'm not overly impressed at the moment. 🫤
May 11, 2022
Today I had to get a CT scan of my heart in preparation for the May 27th surgery. All went well. I have no other heart issues. It's looking like I'll be in the hospital for 4-7 days, depending on how fast I recover. I should be fully 100% recovered by the end of August. ❤️
May 20, 2022
My grandfather with me 39 years ago, days after my open heart surgery. He taught me to hunt, fish, golf, and I'm sure taught me a thing or two about drinking beer and partying. 😂 He was a great man. He won't physically be with me next Friday, but I'm sure he'll be watching over.
May 25, 2022
Two more sleeps. My mind is racing with an incredible amount of thoughts and emotions now. It's overwhelming. I love you all. Thanks for all of your replies and DMs over the last couple days, weeks, and months. I appreciate it immensely. ❤️❤️❤️
May 25, 2022
Two more sleeps. My mind is racing with an incredible amount of thoughts and emotions now. It's overwhelming. I love you all. Thanks for all of your replies and DMs over the last couple days, weeks, and months. I appreciate it immensely. ❤️❤️❤️
May 27, 2022
LET'S GO! I am alive and doing well. I was on a ventilator until 8pm. That was horrible. I will read all of the comments that you all posted on Katie's updates. Now I need to rest. They want to get me up and walk at 11pm. 🤯 I love you all and your support had helped so much 🧡🧡
May 28, 2022
The amount of love, compassion, caring, and appreciation from everyone blows my mind. Thanks for all of your comments and DMs. The positivity though all is this has helped me get through dark times and now it's helping me get through pain. You are helping me immensely. 🤯❤️🧡💪
May 28, 2022
Today has been a rough day. Lots of chest pain when breathing. But, I apparently am doing something right, because I have been upgraded to a regular room. No more ICU for this guy! My ICU nurse told my new nurse that I'm strong. ❤️💪🔥
May 29, 2022
Using this to document my journey. Last night was not good at all. I had tachycardia and AFib for hours. It was scary as fuck having my heart beat the way it was at 160bpm. They gave me new medication to bring it down and stop the AFib irregular heartbeat. It's now at 101.
May 29, 2022
I was very scared. Katie was able to come and stay the night with me and be my personal care nurse. That made me feel much better having her here with me. Hopefully the meds continue to do what they're supposed to. Fuck. Anyways, I may not Tweet much today. Love you all. ❤️
May 30, 2022
Today has mostly been a great day progress wise. I ate a lot. I've walked more today than I have previously. My doctor told me I might be going home tomorrow, it all depends on what happens with my last drainage tube. Fingers crossed that it's draining properly now. 💪❤️
May 31, 2022
Morning walk crushed.
Breakfast crushed.
Feeling stronger.
My drainage tube is still draining so we'll see what the surgeon says, but I probably won't be coming home today according to my nurse. It may be another day. Better to be safe. I'm feeling good though. Let's go! 💪💪❤️❤️
Jun 1, 2022
Today's plans: Crush morning walk, crush breakfast, CRUSH MY LAST X-RAY AND HEAD THE HELL HOME! Fingers crossed. 🤞🤞❤️❤️💪💪
Jun 1, 2022
On my morning walk I went into a slight AFib. The nurse and PA said since I hadn't had my morning meds to control that yet, that that could be the cause. They're going to increase meds and monitor me for another 24 hours. That sucks, but again, I'd rather be safe. Ugh.
Jun 2, 2022
GM! I miss my kids. I miss wearing normal clothes. I miss my house. I miss my doggy. I better go home today or I guess I'll just keep working to get well enough to go home. 😂 I'm still progressing forward. I have a chest x-ray scheduled later this morning. Fingers crossed.
Jun 2, 2022
I JUST GOT CLEARED TO HEAD HOME AFTER LUNCH. FUCK YEAH. LET'S GOOOOOO💪💪💪
Jun 2, 2022
I am home! I have some family that needs some loving. Enjoy the rest of your day!
Jun 4, 2022
Last night I slept in bed thanks to a reclining pillow, the first night our living room chair. I was so happy to sleep in my own bed. I walked around our yard about 9 times yesterday. My goal is to do that plus a little more every day. I'm still in a lot of pain, but meds help.
Jun 4, 2022
I still have a long way to go recovery wise, but having Katie and the kids here helping me along the way makes it easier and gives me a reason to keep pushing forward through this. Thanks again for all of your past and future support. You all are fantastic.
Jun 6, 2022
My wife went back to work today. My son and daughter are in charge of taking care of me. My kids are fantastic. They made me breakfast already and helped me check all of my vitals. My daughter really shines here. She's such a little nurse and caretaker. ❤️❤️
Jun 6, 2022
I'm still in pain, but I'm not in as much pain as I was a couple days ago. I'm walking around a little better and a little more every day. I really hate just sitting around and not doing anything, but it's hard to do much else besides watch TV. I am enjoying my patio though. 💪
Jun 16, 2022
It's been a while. It's time to update this thread! I am doing great, IMO. I have lots of energy. I feel great. I can do a lot more than I previously could. I still have a limited range of motion due to my sternum being broken and still healing. i.e. I can't wash my back or legs.
Jun 16, 2022
I started back to work yesterday. I was cleared to do 20 hours this week by my doctor and I'm hoping to be cleared full time next week. I work from home, so if I can sit in front of a TV, I can sit in front of a computer, right?
Jun 16, 2022
My home nurses have been absolutely fantastic.😂 My kids make me breakfast every morning. And I could not have done any of this without my rock star wife. Words can't describe how much she's done for me throughout all of this. I am looking forward to continuing to improve. ♥️
Jun 16, 2022
You all have been absolutely wonderful through all of this too. I appreciate all of your love, support, and check-ins. Seriously. It means more than you know.
I have a check-up at the end of the month to make sure all is well. I'll update again in a couple weeks after that appt.
Jun 28, 2022
My doctor said everything looks great. He said it doesn't look like I had open heart surgery a month ago.💪 He said I have zero restrictions and that I can resume normal life. I can drive and I can go out on my boat! ❤️❤️❤️ I'm so happy right now! 🔥🚀
Jul 15, 2022
I started cardiac rehab this week. After 2 sessions the nurse said I'm on "Week 4" already. She doesn't believe with my initial intake stress test if I'll really be able to improve on it that much. 🤣 TL;DR I am a rock star and kicking ass. Feeling great. Life's great. 😍
Aug 28, 2022
Yesterday was 3 months since my open heart surgery. I'm going great! I'd guess essentially back to normal. My sternum is still not fully healed, that'll take more time, but energy and capability are basically back to what I was like last summer. I'm very happy with the results.
Aug 28, 2022
I'm very happy to be able to exercise daily, go boating on the weekends AND swim and paddleboard. I was annoyed that I couldn't do these things a month ago. I had a cardiologist appt. two weeks ago. He said he hopes the valve lasts me the rest of my life and to see him in a year.
Aug 28, 2022
As a final post to this thread, I want to thank each and every one of you again that commented, liked, shared and DMed me throughout all of this. The love and support from Twitter and the #Bitcoin community was unfathomable. You all made a difference in my life and my recovery.❤️
-

@ db01672e:9f775028
2025-01-30 07:27:15
When looking for the right Alzheimer's care home in Rockwall, choosing a facility that provides specialized care, emotional support, and a comfortable environment is crucial.
Alzheimer's care homes are designed to cater to the unique needs of individuals dealing with Alzheimer's disease or other forms of dementia.
Selecting the right facility can make a significant difference in ensuring a high quality of life for your loved one. Here are eight essential points to consider when choosing an Alzheimer's care home in Rockwall.
## Specialized Care for Alzheimer’s and Dementia
Alzheimer’s and dementia patients require tailored care that is different from the general senior living options. **[https://villagegreenalzheimerscare.com/rockwall/](https://villagegreenalzheimerscare.com/rockwall/)** that provide dedicated Alzheimer’s care should have a trained team familiar with the complexities of memory loss and cognitive decline.
Look for a facility that focuses on the individual needs of each resident, offering personalized care plans that address both physical and emotional well-being.
## Safe and Secure Environment
A secure environment is essential for Alzheimer's care homes, as residents may become confused or disoriented and wander. The facility should have secure entrances, exits, and enclosed outdoor areas to keep residents safe.
Additionally, the layout should be easy to navigate, with calming and clear signage to reduce confusion.
## Trained and Compassionate Staff
The caregivers at an Alzheimer’s care home in Rockwall should be experienced, patient, and compassionate.
The quality of staff and their training is paramount. Caregivers who understand the behavior and communication challenges of those with Alzheimer’s can help reduce frustration and create a calming atmosphere.
Staff should also have training in first aid, CPR, and handling medical emergencies specific to Alzheimer’s and dementia.
## Person-Centered Care Approach
An ideal Alzheimer’s care home will adopt a person-centered approach to care. This method emphasizes respecting the individual’s preferences, life history, and unique needs
A good Alzheimer’s care facility will encourage residents to maintain independence, creating a balance between support and autonomy.
## Engaging and Stimulating Activities
Look for a facility that offers a variety of activities designed to engage the mind and body. Alzheimer’s patients benefit from daily activities that promote cognitive stimulation, such as music therapy, art, and memory exercises.
Many assisted living facilities in Rockwall, TX, also offer physical exercises to help mobility and overall health. These tailored activities should reflect residents’ interests and provide comfort and joy.
## Comfortable and Homelike Environment
The atmosphere of an Alzheimer’s care home should be warm and inviting, like home. This homelike environment can help residents feel secure and at ease.
The facility should offer comfortable common areas, family-style dining, and private rooms or suites where residents can retreat. Calming colors, familiar furnishings, and soothing lighting can also help reduce anxiety and agitation.
## Quality Nutrition and Meal Options
Nutrition plays a vital role in the health of individuals with Alzheimer’s. A memory care facility should provide meals that are not only nutritious but also cater to residents' preferences.
Facilities that offer family-style dining often help create a sense of community and comfort during mealtime. Special diets or modified meals should also be available to accommodate residents' medical or dietary needs.
## Physical and Mental Health Services
Assisted living facilities in Rockwall, TX, that offer Alzheimer's care should provide access to various healthcare services, including regular medical checkups and specialized care for related health issues.
The facility should partner with doctors, nurses, and therapists who can offer on-site care, ensuring that residents receive the medical attention they need without leaving the facility.
### The End Note
Selecting an **[Alzheimer’s care home](https://villagegreenalzheimerscare.com/)** in Rockwall involves careful consideration of several factors that will impact the quality of life of your loved one.
From specialized care to a nurturing environment, finding a facility that balances medical needs with emotional support is essential. By focusing on these points, you can make an informed decision to ensure peace of mind for the resident and their family.
-

@ 7cb5fba1:4ea55c0e
2025-01-30 05:36:08
---

#### **Samira parties with customers at a brothel. She was married at 12, trafficked to a brothel two weeks later.**
######
---

#### **A madam counts money in a brothel**
######
---


#### **Mia, 15, sits with her new 27-year-old groom during their wedding. ‘My family has been saving for my wedding for a very long time. I am a girl, so they always knew they would need to give me away.' Five or six months ago, her parents found Mia a groom, a 27-year-old man who works in a garment factory. 'I am nervous,' Mia says, quietly. 'I think I will miss my family'**
######
---

#### **Yasmin waits for customers**
######
---

#### **A girl shows her self harm scars**
######
---

#### **Women wait for customers**
######
---

#### **Habiba waits for customers. The 14-year-old has been in a brothel for three years**
######
---

#### **‘I ran away from my husband after seven days. He was only about 15 or 16, but he raped me so violently that one morning, when I knew he was asleep, I slipped out of the house as quietly as I could, and ran,’ Samira says. ‘I ran back to my house, but I was too frightened to go inside because I was covered in blood and bruises. My mum died when I was 11, so my brother and sister had arranged the marriage because they could not afford to look after me any more, and I knew leaving my husband would make them angry. So I asked a rickshaw driver to take me across (the town) to my friend’s house, but he told me I should be ashamed of myself, and dropped me off at the brothel instead’**
######
---

#### **A customer enters Yasmin’s room**
######
---

#### **A police officer stops to speak to a woman outside a brothel**
######
---

#### **A customer fights with girls at a brothel**
######
---
-

@ 58937958:545e6994
2025-01-13 03:31:48
I made croquettes inspired by Spiral's character "Bitcoin (Puppet)."

The method is the same as making regular croquettes.
I also tried making a version (right) with the arms and legs attached while shaping the filling, but they fell off before I could coat them in flour.

The face is made with seaweed and sliced cheese.
The arms and legs are made with fish cake (hanpen).
I brushed soy sauce on the legs and lightly toasted them in a toaster, which gave them a brown color.

The arms and legs are attached using thin spaghetti.
When I searched for character-themed bentos (kyaraben), I came across the idea of using dried pasta, which made sense.
I used fried spaghetti sticks for attachment.
Here’s Bitcoin Croquette squished into a bento box:

Halving

Notes
- I tried freezing the filling to help it hold its shape, but it backfired. It stuck to the plate and the cooking paper, and once partially thawed, it became way too watery. Freezing might work with better preparation.
- The filling was quite dry when shaping, so it might be better to add a binder (this time, I only used potatoes and sautéed onions).
The shape of Bitcoin Puppet was really easy and fun to make, so I’d love to try creating something else next time!
nostr:nevent1qqsxgpjvf9g9suhzx5asqhvnlvnarl43kuhas8v5g2ryjr9yjjp0z5ctkh5pt
-

@ 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.
-

@ 58937958:545e6994
2025-01-13 03:19:17
Spiralのキャラクター「ビットコイン(パペット)」のコロッケを作りました

作り方は一般的なコロッケです
試しにタネの状態で手足をくっつけたバージョン(右)も作りましたが
粉をつける前に手足がもげました

顔はのりとスライスチーズ
手足ははんぺんです
足は醤油をつけてトースターで軽く焼いたら茶色になりました

手足はサラスパでくっつけてます
細いスパゲッティ
キャラ弁でググったらサラスパが出てきてなるほどな~と思いました
自分は揚げパスタにして刺しました
弁当箱に押し込まれてるコロッケくん

半減期

メモ
- タネを作った時に形を保たせるために冷凍してみたんですけど逆効果だった(皿とクッキングペーパーにくっついて取れなくなった&半解凍したら水分がすごいことになった)ので冷凍するなら対策が必要そう
- 形作るときにかなりパサパサだったので、つなぎがあった方がいいのかも(今回はじゃがいも&炒めタマネギだけ)
ビットコインくんの形はすごく作りやすくて面白いのでまた何か作りたいなぁと思いました
nostr:nevent1qqsxgpjvf9g9suhzx5asqhvnlvnarl43kuhas8v5g2ryjr9yjjp0z5ctkh5pt
-

@ 84b0c46a:417782f5
2025-01-11 01:48:46
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qqs0df2mwnp2q6hm6zjrthkmx3fudwsuwrmgnwrdavpzgjy8nnuqm5cqpd06k
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qqs2muhvnev5367ywuzkhell9my86jlnzhsnuszwl46tnc3fpsx9mtgjkqnu7
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qqsznnkrl8qdwzgp7ry2hc7a77kwhg440gv9xtmvyfawggrpz3rhwvcx4rckf
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qqsyjf80k3djt96qncgvwl2yem09fdqcc0y9l8t657yc9qg2yhmg7kcnua8vn
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qqs0s3lp0w0yclk64j0tpc5fvrulv78g2lfjz3gcgacw9mt6czek26qtqxuck
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qywhwumn8ghj7mn0wd68ytnrdakhq6tvv5kk2unjdaezumn9wsqs6amnwvaz7tmev9382tndv5qjqamnwvaz7tmjv4kxz7fddfczumn0wd68ytnhd9ex2erwv46zu6nsqqs89tst72clc60wse3zq4qfs0976y7areffnhx26atvu6pv58hg6dsxvcc79
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qyxhwumn8ghj77tpvf6jumt9qys8wumn8ghj7un9d3shjtt2wqhxummnw3ezuamfwfjkgmn9wshx5uqpr3mhxue69uhhxun5wfjkccte9e3j6um5v4kxcctj9ehx2aqqyp5k40r3ug02yz5y0tn67tm2lwevuwac54qyw3yyct8n8uzr7pjz2q92pyt
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qyxhwumn8ghj77tpvf6jumt9qys8wumn8ghj7un9d3shjtt2wqhxummnw3ezuamfwfjkgmn9wshx5uqqyp9pennjwq2qk4dxpr440wxqm5cfwah4qccd8la62hantxdelkk82ty9mr8
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qyxhwumn8ghj77tpvf6jumt9qqsz9w30kxzjshwd8sq7jg2hsy2hwqg3zu7gyvxnsyrgfw0ur4rkhsg9v0re4
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qyxhwumn8ghj77tpvf6jumt9qqs8wkx2r8txt9q69c3zvpqs2em2s40nc8tajmcc5l8ngxn8v2ng3sc43xvzu
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qyxhwumn8ghj77tpvf6jumt9qys8wumn8ghj7un9d3shjtt2wqhxummnw3ezuamfwfjkgmn9wshx5uqqyzdkacpjqvv2y79zgvufx9jh39rd7xa8v056rgn4xelmnmrq9u2tuguswek
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qy2hwumn8ghj7mn0wd68ytnyv96xztngv96hxqpqmdtjrs38fv8r20deplrlt8fma54gu43keuzquzks7673a27ud58slunr8y
nostr:nevent1qvzqqqqqqypzpp9sc34tdxdvxh4jeg5xgu9ctcypmvsg0n00vwfjydkrjaqh0qh4qyxhwumn8ghj77tpvf6jumt9qys8wumn8ghj7un9d3shjtt2wqhxummnw3ezuamfwfjkgmn9wshx5uqpr4mhxue69uhkummnw3ezucm0d4cxjmr994jhyun0wghxuet5qqsxzpx2r5hd36pruzn2e58wh947y2t0t205fp5xtstqp5wq0qgcjuq07rqlk
-

@ 9f3eba58:fa185499
2025-01-29 20:27:09
Humanity as a whole has been degrading over the years, with average IQ decreasing, bone structures generally becoming poorly formed and fragile, average height decreasing, hormone levels ridiculously low and having various metabolic and mental illnesses becoming “normal”.
“*By 2024, more than 800 million adults were living with diabetes, representing a more than fourfold increase since 1990*”
“\*\**1 in 3 people suffer from insulin resistance and can cause depression*” (\*\*https://olhardigital.com.br/2021/09/24/medicina-e-saude/1-em-cada-3-pessoas-sofre-de-resistencia-a-insulina-e-pode-causar-depressao/)
“*More than 1.3 billion people will have diabetes in the world by 2050*” (https://veja.abril.com.br/saude/mais-de-13-bilhao-de-pessoas-terao-diabetes-no-mundo-ate-2050)
“*A new study released by Lancet, with data from 2022, shows that more than a billion people live with obesity in the world*” (https://www.paho.org/pt/noticias/1-3-2024-uma-em-cada-oito-pessoas-no-mundo-vive-com-obesidade)
All this due to a single factor: diet. I’m not referring to a diet full of processed foods, as this has already been proven to destroy the health of those who eat it. I’m referring to the modern diet, with carbohydrates (from any source, even from fruit) being the main macronutrient, little animal protein and practically no saturated fat of animal origin. This diet implementation has been systematically occurring for decades. Sugar conglomerates seeking profits? Government institutions (after all, they need voters to be stupid and vote for them), evil spiritual interference wanting to destroy or distort their path? I don’t know, I’ll leave the conspiracy theories to you!
The modern diet or diet is extremely inflammatory, and inflammation over a long period of time leads to autoimmune diseases such as diabetes and Hashimoto’s.
Absolutely any food in the plant kingdom will harm you, no matter how asymptomatic it may be. Plants are living beings and do not want to die and be eaten. To defend themselves from this, they did not evolve legs like animals. They specifically developed chemical mechanisms such as *oxalates, phytoalexins, glucosinolates, polyphenols, antinutrients* and many others that act to repel anything that wants to eat them, being fatal (as in the case of mushrooms), causing discomfort and the animal or insect discovering that the plant is not edible, releasing unpleasant smells or, in many cases, a combination of these factors. Not to mention genetically modified foods (almost the entire plant kingdom is genetically modified) that work as a steroid for the plants' defenses. - Lack of focus
- Poor decision-making
- Difficulty in establishing and maintaining relationships
- Difficulty getting pregnant and difficult pregnancy
- Low testosterone (medical reference values are low)
- Alzheimer's
- Diabetes
- Dementia
- Chances of developing autism when mothers do not eat meat and fat properly during pregnancy
- Worsening of the degree of autism when the child does not eat meat and fat (food selectivity)
- Insomnia and other sleep problems
- Lack of energy
- Poorly formed and fragile bone structure
- Lack of willpower
- Depression
- ADHD
Not having full physical and mental capacity harms you in many different ways, these are just a few examples that not only directly impact one person but everyone else around them.
Fortunately, there is an alternative to break out of this cycle of destruction, ***Carnivore Diet***.
I am not here to recommend a diet, eating plan or cure for your health problems, nor can I do so, as I am not a doctor (most doctors don't even know where the pancreas is, a mechanic is more useful in your life than a doctor, but that is a topic for another text.).
I came to present you with logic and facts in a very simplified way, from there you can do your own research and decide what is best for you.
---
## Defining the carnivore diet
Simply put, the carnivore diet is an elimination diet, where carbohydrates (including fruits), vegetable fats (soy, canola, cotton, peanuts, etc.), processed products and any type of plant, be it spices or teas, are completely removed.
### What is allowed on the carnivore diet?
- Animal protein
- Beef, preferably fatty cuts (including offal, liver, heart, kidneys, these cuts have more vitamins than anything else in the world)
- Lamb
- Eggs
- Fish and seafood
- Animal fat
- Butter
- Beef fat and tallow
- Salt
- No... salt does not cause high blood pressure. (explained later about salt and high consumption of saturated fats)
From now on I will list some facts that disprove the false accusations made against \*\*eating exclusively meat and fat.
# “Human beings are omnivores”
*“Our ancestors were gatherers and hunters*"
To determine the proportion of animal foods in our ancestors’ diets, we can look at the amount of δ15 nitrogen in their fossils. By looking at levels of this isotope, researchers can infer where animals reside in the food chain, identifying their protein sources. Herbivores typically have δ15N levels of 3–7 percent, carnivores show levels of 6–12 percent, and omnivores exhibit levels in between. When samples from Neanderthals and early modern humans were analyzed, they showed levels of 12 percent and 13.5 percent, respectively, even higher than those of other known carnivores, such as hyenas and wolves. And from an energy efficiency standpoint, hunting large animals makes the most sense. Gathering plants and chasing small animals provides far fewer calories and nutrients relative to the energy invested. In more recently studied indigenous peoples, we have observed a similar pattern that clearly indicates a preference for animal foods over plant foods. For example, in Vilhjalmur Stefansson’s studies of the Eskimos.
*“…fat, not protein, seemed to play a very important role in hunters’ decisions about which animals (male or female) to kill and which body parts to discard or carry away.”*
Why were our ancestors and more recent indigenous peoples so interested in finding fat? At a very basic level, it was probably about calories. By weight, fat provides more than twice as many calories as protein or carbohydrates. Furthermore, human metabolism makes fat an exceptionally valuable and necessary food. If we think of ourselves as automobiles that need fuel for our metabolic engines, we should not put protein in our gas tank. For best results, our metabolic engine runs most efficiently on fat or carbohydrates.
Eating animal foods has been a vital part of our evolution since the beginning. Katherine Milton, a researcher at UC Berkeley, came to the same conclusion in her paper “The Critical Role Played by Animal Source Foods in Human Evolution,” which states:
“Without routine access to animal-source foods, it is highly unlikely that evolving humans could have achieved their unusually large and complex brains while simultaneously continuing their evolutionary trajectory as large, active, and highly social primates. As human evolution progressed, young children in particular, with their rapidly expanding large brains and higher metabolic and nutritional demands relative to adults, would have benefited from concentrated, high-quality foods such as meat." - https://pubmed.ncbi.nlm.nih.gov/14672286/
Skeletons from Greece and Turkey reveal that 12,000 years ago, the average height of hunter-gatherers was five feet, nine inches for men and five feet, five inches for women. But with the adoption of agriculture, adult height plummeted—ending any hope these poor herders had of dunking a basketball or playing competitive volleyball, if such sports had existed at the time. By 3000 B.C., men in this region of the world were only five feet, three inches tall, and women were five feet, reflecting a massive decline in their overall nutritional status. Many studies in diverse populations show a strong correlation between adult height and nutritional quality. A study analyzing male height in 105 countries came to the following conclusion:
“In taller nations…consumption of plant proteins declines sharply at the expense of animal proteins, especially those from dairy products. Its highest consumption rates can be found in Northern and Central Europe, with the global peak in male height in the Netherlands (184 cm).”
In addition to the decline in height, there is also evidence that Native Americans buried at Dickson Mounds suffered from increased bacterial infections. These infections leave scars on the outer surface of the bone, known as the periosteum, with the tibia being especially susceptible to such damage due to its limited blood flow. Examination of tibias from skeletons found in the mounds shows that after agriculture, the number of such periosteal lesions increased threefold, with a staggering eighty-four percent of bones from this period demonstrating this pathology. The lesions also tended to be more severe and to appear earlier in life in the bones of post-agricultural peoples.
https://onlinelibrary.wiley.com/doi/full/10.1111/j.1747-0080.2007.00194.x
https://pubmed.ncbi.nlm.nih.gov/10702160/
# Cholesterol
Many “doctors” say that consuming saturated fat is harmful to your health, “your veins and arteries will clog with excess fat” “you will have a heart attack if you consume a lot of fat" and many other nonsense, and in exchange recommends that you replace fatty cuts of meat with lean meat and do everything with vegetable oil that causes cancer and makes men effeminate.
Your brain is basically composed of fat and water, your neurons are made and repaired with fat, your cells, the basic unit of life, are composed of fat and protein, many of your hormones, especially sexual ones, are made from fat, there is no logical reason not to consume saturated fat other than several false "scientific articles".
"The power plant of the cell is the mitochondria, which converts what we eat into energy. Ketones are an energy source derived from fat. Mitochondria prefer fat as energy (ketones) because transforming ketones into energy costs the mitochondria half the effort of using sugar (glucose) for energy." - https://pubmed.ncbi.nlm.nih.gov/28178565/
"With the help of saturated fats, calcium is properly stored in our bones. The interaction between calcium, vitamin D, and parathyroid hormone regulates calcium levels in the body. When there are calcium imbalances in the blood, our bones release calcium into the blood to find homeostasis." - https://www.healthpedian.org/the-role-of-calcium-in-the-human-body/
"The body needs cholesterol to support muscle repair and other cellular functions. This is why when there is cardiovascular disease, we see increased amounts of cholesterol in the area. Cholesterol is not there causing the problem, but the boat carrying fat was docked there for cholesterol and other nutrients to help fight the problem. Plaque is the body's attempt to deal with injury within the blood vessels." - *National Library of Medicine, “Cholesterol,” 2019*
"Initially, the Plaque helps blood vessels stay strong and helps the vessels maintain their shape. But with the perpetual cycle of uncontrolled inflammation and leftover debris from cellular repair (cholesterol), over time plaque begins to grow and harden, reducing blood flow and oxygen to the heart. Both inflammation and repair require copious amounts of cholesterol and fats. So the body keeps sending these fatty substances to the site of the plaque — until either repair wins (plaque becomes sclerotic scars in the heart muscle, causing heart failure) or inflammation wins (atherosclerotic heart attack)" - https://pubmed.ncbi.nlm.nih.gov/21250192/
Inflammation in Atherosclerotic Cardiovascular Disease - https://pubmed.ncbi.nlm.nih.gov/21250192/
"Study finds that eating refined carbohydrates led to an increased risk of cardiovascular disease and obesity" - https://pmc.ncbi.nlm.nih.gov/articles/PMC5793267/
# “Meat causes cancer”
Most of the misconceptions that red meat causes cancer come from a report by the World Health Organization's International Agency for Research on Cancer (IARC), which was released in 2015. Unfortunately, this report has been widely misrepresented by the mainstream media and is based on some very questionable interpretations of the science it claims to review.
A closer look at a 2018 report on its findings reveals that only 14 of the 800 studies were considered in its final conclusions—and every single study was observational epidemiology. Why the other 786 were excluded remains a mystery, and this group included many interventional animal studies that clearly did not show a link between red meat and cancer. Of the fourteen epidemiological studies that were included in the IARC report, eight showed no link between meat consumption and the development of colon cancer. Of the remaining six studies, only one showed a statistically significant correlation between meat and cancer.
In epidemiological research, one looks for correlation between two things and the strength of the correlation. Having just one study out of 800 that shows meat causes cancer is a mere fluke and becomes statistically insignificant.
Interestingly, this was a study by Seventh-day Adventists in America — a religious group that advocates a plant-based diet.
# Microbiota and Fiber
I have seen several people and “doctors” saying that eating only meat would destroy your microbiota. And I have come to the conclusion that neither “doctors” nor most people know what a microbiota is.
Microbiota is the set of several types of bacteria (millions) that exist in your stomach with the function of breaking down molecules of certain types of food that the body itself cannot get, fiber for example. Many times through the process of fermentation, which is why you have gas after eating your beloved oatmeal.
People unconsciously believe that the microbiota is something fixed and unchangeable, but guess what… it is not.
Your microbiota is determined by what you eat. If you love eating oatmeal, your microbiota will have a specific set of bacteria that can break down the oat molecule into a size that the body can absorb.
If you follow a carnivorous diet, your microbiota will adapt to digest meat.
### Fiber
Nutritional guidelines recommend large amounts of fiber in our diet, but what they don't tell you is that we only absorb around 6% of all the vegetable fiber we eat. In other words, it's insignificant!
Another argument used by doctors and nutritionists is that it helps you go to the bathroom, but this is also a lie. Fiber doesn't help you evacuate, it forces you to do so. With the huge amount of undigestible food in your stomach (fiber), the intestine begins to force contractions, making this fecal matter go down, making you go to the bathroom.
They also raise the argument that fibers are broken down into short-chain fatty acids, such as butyrate (butyric acid), propionate (propionic acid) and acetate (acetic acid). Butyrate is essential because it is the preferred fuel source for the endothelial cells of the large intestine.
Butter, cream, and cheese contain butyrate in its absorbable form. Butter is the best source of butyric acid, or butyrate. In fact, the origins of the word butyric acid come from the Latin word *butyro*—the same origins as the word butter.
“In 2012, a study in the Journal of Gastroenterology showed that reducing fiber (a precursor to short-chain fatty acids) helped participants with chronic constipation. The study lasted six months, and after two weeks without fiber, these participants were allowed to increase fiber as needed. These participants felt so much relief after two weeks without fiber that they continued without fiber for the entire six-month period. Of the high-fiber, low-fiber, and no-fiber groups, the zero-fiber participants had the highest bowel movement frequency.” - https://pmc.ncbi.nlm.nih.gov/articles/PMC3435786/
### Bioavailability
I said that our body can only absorb 6% of all the fiber we ingest. This is bioavailability, how much the body can absorb nutrients from a given food.
Meat is the most bioavailable food on the planet!
Grains and vegetables are not only not very bioavailable, but they also contain a huge amount of antinutrients. So if you eat a steak with some beans, you will not be able to absorb the nutrients from the beans, and the antinutrients in them will make it impossible to absorb a large amount of nutrients from the steak. https://pubmed.ncbi.nlm.nih.gov/23107545/
# Lack of nutrients and antioxidants in a carnivorous diet
A major concern with the carnivorous diet is the lack of vitamin C, which would consequently lead to scurvy.
Vitamin C plays an important role in the breakdown and transport of glucose into cells. In 2000 and 2001, the recommended daily intake of vitamin C effectively doubled. In fact, every 10 to 15 years, there has been a large increase in the recommended daily intake of vitamin C, as happened in 1974 and 1989. Interestingly, also in 1974, sugar prices became so high that high fructose corn syrup was introduced into the US market. Could the increase in readily available glucose foods and foods with high fructose corn syrup be a reason why we need more vitamin C? The question remains…. But this is not a cause for concern for the carnivore, liver is rich in vitamin C. You could easily reach the daily recommendation with liver or any cut of steak. 200-300g of steak already meets your needs and if the theory that the more sugar you eat, the more vitamin C you will get is true, then the more sugar you will eat is true. C is necessary if true, you could easily exceed the daily requirement.
Meat and seafood are rich in ALL the nutrients that humans need to thrive.
### Antioxidants
It is commonly said that fruits are rich in antioxidants but again this is a hoax, they are actually PRO-oxidants. These are substances that activate the mRF2 pathway of our immune system which causes the body to produce natural antioxidants.
The body produces antioxidants, but many occur naturally in foods, Vitamin C, Vitamin E, Selenium and Manganese are all natural antioxidants.
High concentrations of antioxidants can be harmful. Remember that high concentrations of antioxidants can increase oxidation and even protect against cancer cells.
# Salt
Consuming too much salt does not increase blood pressure and therefore increases the risk of heart disease and stroke. Studies show no evidence that limiting salt intake reduces the risk of heart disease.
A 2011 study found that diets low in salt may actually increase the risk of death from heart attacks and strokes. Most importantly, they do not prevent high blood pressure. https://www.nytimes.com/2011/05/04/health/research/04salt.html
# Sun
This is not a dietary issue specifically, but there are things that can I would like to present that is against common sense when talking about the sun.
It is common sense to say that the sun causes skin cancer and that we should not expose ourselves to it or, if we are exposed to the sun, use sunscreen, but no study proves that using sunscreen protects us from melanoma and basal cell carcinoma. The types of fatal melanomas usually occur in areas of the body that never see the sun, such as the soles of the feet.
https://www.jabfm.org/content/24/6/735
In 1978, the first sunscreen was launched, and the market grew rapidly, along with cases of melanoma.
Several studies show that sunscreens cause leaky gut (one of the main factors in chronic inflammation), hormonal dysfunction and neurological dysfunction.
https://pubmed.ncbi.nlm.nih.gov/31058986/
If your concern when going out in the sun is skin cancer, don't worry, your own body's natural antioxidants will protect you. When they can no longer protect you, your skin starts to burn. (If you have to stay in the sun for work, for example, a good way to protect yourself is to rub coconut oil on your skin or just cover yourself with a few extra layers of thin clothing and a hat).
Sunscreen gives you the false sense of protection by blocking the sunburn, so you stay out longer than your skin can handle, but sunscreens can only block 4% of UVA and UVB rays.
www.westonaprice.org/health-topics/environmental-toxins/sunscreens-the-dark-side-of-avoiding-the-sun/
Interestingly, vitamin D deficiency is linked to increased cancer risks. It's a big contradiction to say that the greatest provider of vit. D causes cancer…
https://med.stanford.edu/news/all-news/2010/10/skin-cancer-patients-more-likely-to-be-deficient-in-vitamin-d-study-finds.html
Important roles of vitamin D:
- **Regulation of Bone Metabolism**
- Facilitates the **absorption of calcium and phosphorus** in the intestine.
- Promotes bone mineralization and prevents diseases such as **osteoporosis**, **rickets** (in children) and **osteomalacia** (in adults).
- **Immune Function**
- Modulates the immune system, helping to reduce inflammation and strengthen the defense against infections, including **colds**, **flu** and other diseases.
- May help reduce the incidence of autoimmune diseases such as **multiple sclerosis** and **rheumatoid arthritis**. - **Muscle Health**
- Contributes to muscle strength and the prevention of weakness, especially in the elderly.
- Reduces the risk of falls and fractures.
- **Cardiovascular Function**
- May help regulate blood pressure and heart function, reducing the risk of cardiovascular disease.
- **Hormonal Balance**
- Influences the production of hormones, including those associated with fertility and the functioning of the endocrine system.
- Plays a role in insulin metabolism and glucose sensitivity.
- **Brain Function and Mental Health**
- Participates in mood regulation, which may reduce the risk of **depression** and improve mental health.
- Has been associated with the prevention of neurodegenerative diseases, such as **Alzheimer's**.
- **Anticancer Role**
- Evidence suggests that vitamin D may inhibit the proliferation of cancer cells, especially in breast, prostate and colon cancers. - **Role in General Metabolism**
- Contributes to metabolic health, regulating cellular growth and repair processes.
---
I tried to present everything in the simplest and most understandable way possible, but there are things that require prior knowledge to truly understand. Below is a list of books that will show you everything I have shown you in a more technical and in-depth way.
### Book Recommendations
https://amzn.to/3EbjVsD
https://amzn.to/4awlnBZ
All of my arguments have studies to validate them. Feel free to read them all and draw your own conclusions about what is best for you and your life.
-

@ 0fa80bd3:ea7325de
2025-01-29 15:43:42
Lyn 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
```
-

@ a012dc82:6458a70d
2025-01-29 15:27:17
In an unprecedented development in the realm of digital currencies, the Bitcoin network has achieved a groundbreaking milestone: the count of blockchain addresses possessing over $1,000 in Bitcoin has eclipsed 8 million. This landmark achievement is not just a numerical feat but a testament to the burgeoning confidence and interest in Bitcoin as a viable financial asset. It marks a pivotal shift in the cryptocurrency's journey from a digital novelty to a mainstream financial instrument, capturing the attention of a diverse range of investors, from individual enthusiasts to institutional players. This surge in Bitcoin addresses is a strong indicator of the cryptocurrency's increasing acceptance and its evolving role in reshaping the global financial landscape.
**Table Of Content**
- The Surge in Bitcoin Addresses
- Implications of Growing Bitcoin Addresses
- Bitcoin’s Monetization and Market Dynamics
- Bitcoin's Recent Performance and Market Sentiment
- The Future Outlook of Bitcoin and Digital Currencies
- Conclusion
- FAQs
**The Surge in Bitcoin Addresses**
Recent analytical data provided by Blockware Solutions and Glassnode paints a vivid picture of Bitcoin's rapidly expanding footprint in the digital asset space. The remarkable escalation to over 8 million Bitcoin addresses holding a value exceeding $1,000 each is more than just a statistical anomaly. It represents a collective movement, a growing wave of global participants who are now engaging with Bitcoin either as an investment, a transactional currency, or as a hedge against traditional financial systems. This increase is a reflection of Bitcoin's rising appeal and its growing integration into various financial strategies, transcending traditional market barriers and establishing itself as a significant player in the realm of investment options.
**Implications of Growing Bitcoin Addresses**
The surge in Bitcoin addresses bearing over $1,000 of Bitcoin is far more than a mere statistic; it is an indicator of a paradigm shift in the global financial landscape. This growth signifies not only an increasing embrace of Bitcoin by individual investors but also a broader, more systemic integration into the financial strategies of diverse entities, ranging from small-scale investors to large financial institutions. This trend suggests a growing recognition of Bitcoin's potential as a stable and lucrative asset, challenging traditional perceptions of currency and investment. It heralds a new era where digital assets are increasingly viewed as credible and essential components of diversified investment portfolios.
**Bitcoin’s Monetization and Market Dynamics**
The concept of monetization in the context of Bitcoin has taken on a significant role in this new era of digital finance. The rising number of valuable Bitcoin addresses signals a shift towards viewing Bitcoin not just as a digital token, but as a potent financial asset capable of generating revenue and sustaining value. This notion of monetization, theorized by financial analysts, is becoming a tangible reality as more entities begin to realize the income-generating potential of Bitcoin. Blockware's insights suggest that the trajectory of Bitcoin is not only upwards in terms of value but also expansive, with the potential to attract even more investors seeking to capitalize on this digital gold rush.
**Bitcoin's Recent Performance and Market Sentiment**
Bitcoin's performance in the financial market has recently been nothing short of stellar, with a noticeable upsurge in its value. A significant factor contributing to this trend is the anticipation surrounding the potential approval of Bitcoin exchange-traded funds by the U.S. Securities and Exchange Commission. This speculation has created a ripple effect, invigorating investor sentiment and catalyzing robust activity among large-scale Bitcoin holders, colloquially known as 'whales.' These movements underscore a growing optimism in the market about Bitcoin's legitimacy and potential as a mainstream financial instrument, further cementing its role as a pivotal player in the global economic arena.
**The Future Outlook of Bitcoin and Digital Currencies**
As we witness the remarkable growth in Bitcoin's popularity and acceptance, it's imperative to look ahead and consider the future trajectory of this leading cryptocurrency and its counterparts. This section would delve into the potential long-term implications of the current trends in Bitcoin ownership. It would explore various scenarios, from the continued mainstreaming of Bitcoin to its potential challenges, including regulatory developments and market volatility. Additionally, the potential impact of emerging technologies within the blockchain sphere and their influence on the usability and security of Bitcoin would be examined. The aim is to provide an informed speculation on how Bitcoin's current ascendance might shape not just its own future but also the broader landscape of digital currencies and their role in the evolving global economy.
**Conclusion**
The milestone of 8 million Bitcoin addresses holding over $1,000 each is more than just a landmark in the cryptocurrency's history; it is a harbinger of the evolving role of digital currencies in the global economy. This development is not merely about the appreciation in Bitcoin's value; it signifies a broader shift in the perception and utilization of digital assets. As Bitcoin continues to embed itself into the fabric of global finance, its influence and implications for the future of money and investments are profound, potentially reshaping the financial landscape in ways that are only beginning to be understood.
**FAQs**
**How many Bitcoin addresses now hold over {{text}},000?**
Over 8 million Bitcoin addresses currently hold more than $1,000 in Bitcoin.
**What does the increase in Bitcoin addresses indicate?**
The increase indicates growing confidence in Bitcoin as a viable financial asset and its broader acceptance globally.
**How has Bitcoin's recent market performance been?**
Bitcoin has shown a significant gain, nearly 25% in recent weeks, influenced by optimistic market sentiments.
**What impact could the approval of Bitcoin ETFs have?**
The approval of Bitcoin ETFs by the U.S. SEC could further boost investor confidence and increase Bitcoin's market activity.
**What is the future outlook for Bitcoin and digital currencies?**
The future outlook includes continued mainstream adoption, evolving regulatory landscapes, and potential technological advancements impacting Bitcoin's usability and security.
**That's all for today**
**If you want more, be sure to follow us on:**
**NOSTR: croxroad@getalby.com**
**X: [@croxroadnews.co](https://x.com/croxroadnewsco)**
**Instagram: [@croxroadnews.co](https://www.instagram.com/croxroadnews.co/)**
**Youtube: [@croxroadnews](https://www.youtube.com/@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.*
-

@ 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... 😏
-

@ 000002de:c05780a7
2025-01-28 22:10:05
Michael Malice asked this question in a [recent appearance on a YouTube show](https://www.youtube.com/watch?v=cv1TUEVsc98)
> Is Democracy a system that is compatible with freedom or is it antithetical or incompatible with freedom?
What do you think?
And to be clear, the US is a democracy. Yes its a republic but it is one with democratic elections. Saying its a republic isn't saying it isn't a democracy. It is. But if you disagree that's fine. For sake of argument humor me. If you use the republic argument look at the number of tyrannies that are also republics around the world...
Democracy for many is a sacred cow. I'm not a monarchist but many that are like this book. Don't let that turn you off from reading [Democracy: The God That Failed](https://store.mises.org/Democracy-The-God-That-Failed-P240.aspx). Its a good critique of Democracy which is hard to find.
originally posted at https://stacker.news/items/868154
-

@ dca69ce3:5b1492da
2025-01-28 19:42:57
With the rise of protocols like [Nostr](https://nostr.com/) (popular in the Bitcoin community) and the [AT Protocol](https://atproto.com/) (popularized by [BlueSky](https://bsky.app/)), now feels like the perfect time to explore the history of the web and the open philosophy it was built on. As someone involved in the communities and clients using these protocols for the past couple of years, I understand their significance. However, this write-up is my effort to deepen that understanding by examining the emergence and necessity of decentralized protocols.
What I've found is that the history of the open web is a fascinating, intertwined narrative of protocols and the consequences of their creation and adoption. Like many foundational innovations, these technologies often succumb to commercialization and centralization over time. Will this time be different? Only time will tell.
Let's dive in!
## The Philosophy of the Early Internet
The early internet was founded on principles of openness, decentralization, and collaboration, reflecting the technologies, governance structures, and culture of its time.
The ARPANET, the precursor to the internet, was designed to ensure communication could endure even in the face of infrastructure loss--resilient to single points of failure. This concept was particularly vital during the Cold War (late 1940s to late 1980s), a period marked by geopolitical tensions where communication disruptions were a constant concern.
## Protocols of the Open Web
### ARPA and NCP (1969-1980)
The early days of networking saw the creation of NCP (Network Control Protocol), the first protocol used by ARPANET. NCP enabled basic communication between nodes, serving as both a transport and host-to-host communication protocols.
NCP managed communication by establishing and maintaining logical connections between hosts using socket pairs--a local socket number identifying a specific process on the host and a remote socket number identifying the target process on destination host. These socket pairs uniquely identified each logical connection, which supported full-duplex communication, allowing data to flow in both directions simultaneously over the same connection.
While NCP handled host-level communication, low-level packet switching and routing were managed by IMPs (Interface Message Processors). In essence, NCP relied on IMPs to deliver packets between nodes.
Using NCP, ARPANET's earliest nodes--University of California Los Angeles, Stanford Research Institute, University of California Santa Barbara, and the University of Utah--collaborate to share resources and advance computing research. Each institution contributed to the development of the early internet, setting the stage for its evolution into the more modern systems we recognize today.
NCP foundational design enabled use cases still familiar today: remote login, file transfer, time-sharing systems, email, and collaborative tools like document editing. However, its simplicity came with limitations. NCP lacked robust error detection and correction, relying on the underlying network (IMPs) to handle these issues. It also lacked a standardized addressing scheme and error recovery mechanisms, limiting its scalability and reliability. These shortcomings ultimately led to the development of TCP/IP.
### FTP (1971)
In 1971, [RCF 114](https://www.rfc-editor.org/rfc/rfc114), titled "A File Transfer Protocol" by Abhay Bhushan, introduced a standardized method for transferring files between hosts on the ARPANET. Its primary goal was to enable indirect use of remote computers, allowing users to transfer files without the need to log into remote systems directly.
Key features of this early protocol included:
- **Indirect File Access**: Enabled users to transfer files seamlessly across the ARPANET without requiring direct logins to remote systems.
- **Standardized Commands**: Defined a consistent set of commands for file operations, including retrieving, storing, deleting, and listing files, ensuring uniform interactions across diverse systems.
- **Data Type Specification**: Supported the designation of data types and structures to accommodate various file formats, ensuring accurate interpretation during transfers.
- **User Identification Mechanism**: Introduced basic access control through username and password authentication, enhancing security.
- **Error Recovery Procedures**: Included mechanisms for error correction and recovery to maintain data integrity and reliability during transfers.
FTP simplified data and software sharing, becoming a cornerstone of collaboration within academic and research communities.
### Email: The First Killer App (1971)
Email, the internet’s first “killer app,” emerged during the development of NCP and later TCP/IP. Ray Tomlinson invented email in 1971 while working at BBN, a key player in ARPANET’s creation. Before email, communication on the network primarily relied on file sharing. Seeking a more efficient solution, Tomlinson modified CYPNET to send messages across ARPANET, enabling users to communicate between different computers. This innovation popularized the use of the “@” symbol to separate user names from domains.
In 1982, the creation of SMTP (Simple Mail Transfer Protocol) standardized email communication and significantly improved upon Tomlinson’s initial implementation. SMTP introduced several key advancements:
- **Formalized Communication Rules**: Established a standardized protocol for sending emails between servers, which CYPNET lacked.
- **Support for Multiple Recipients**: Enabled sending emails to multiple recipients and distributing messages to mailing lists, a capability absent in Tomlinson’s system.
- **Error Handling**: Provided explicit error codes and responses to diagnose and resolve delivery issues, whereas Tomlinson’s implementation offered only rudimentary error handling.
- **Structured Message Format**: Worked with standards like RFC 822 to define consistent headers (To, From, Subject), replacing the unstructured, ad-hoc metadata of early emails.
- **Scalability**: Designed to accommodate the growing internet, ensuring email functionality expanded as ARPANET evolved into a global network. Tomlinson’s system was tied to ARPANET’s original constraints.
SMTP transformed email from a groundbreaking experiment into a robust, scalable, and universal communication tool, solidifying its place as a cornerstone of internet communication.
### Usenet (1979)
Usenet, created by Tom Truscott and Jim Ellis at Duke University in 1979, was one of the first decentralized systems for sharing messages and fostering online discussions. As a precursor to modern internet forums and social media, Usenet laid the foundation for the social internet as we know it today.
Usenet relied on UUCP (Unix-to-Unix Copy Program) to transfer messages between servers in a peer-to-peer manner, with each server forwarding posts to its neighbors.
Key features and insights from Usenet include:
- **Newsgroups**: Discussions were organized into categories called newsgroups, with a hierarchical naming system (e.g., `comp.sys` for computer systems).
- **Decentralization**: Usenet’s peer-to-peer design required each server to store and propagate messages, eliminating single points of failure and central control. This decentralization, akin to modern protocols like Nostr, aligned with the internet’s ideals of openness and collaboration.
- **Self-Governance**: Without central authority, Usenet communities were often self-moderated, with users establishing their own norms and moderation practices.
Usenet’s decentralization and community-driven structure embodied the spirit of the early internet. However, its culture faced a significant shift in **September 1993**, often referred to as “Eternal September.” This marked the influx of new users when AOL (America Online) granted its subscribers access to Usenet. The term “Eternal September” originated from the annual wave of college students who traditionally joined Usenet each September, requiring time to acclimate to its norms. With the massive influx of AOL users, however, this adjustment period became permanent.
This cultural shift introduced challenges such as increased spam, off-topic posts, and conflicts, disrupting the established norms of Usenet. Over time, these issues led to Usenet losing its prominence as a hub for niche, vibrant discussions, marking the beginning of a broader transition from protocols to platforms.
### TCP/IP (1981-1983)
TCP (Transmission Control Protocol) and IP (Internet Protocol), developed between 1981 and 1983, replaced NCP as the standard protocol for ARPANET, addressing many of its limitations and paving the way for the modern internet.
**TCP** ensured reliable communication by breaking data into packets, checking for errors, and retransmitting lost packets. It reassembled data at the destination, ensuring integrity despite packet loss. TCP also introduced flow and congestion control, allowing networks to adapt transmission rates based on conditions. These features resolved NCP’s lack of robust error handling and basic flow management, enabling networks to scale more effectively.
**IP** provided a unique addressing system (IP addresses) that allowed data to traverse diverse networks. Unlike NCP’s reliance on hardcoded socket pairs, IP made interoperability and routing across heterogeneous networks possible.
The separation of TCP and IP into distinct layers (transport and network) introduced modularity and flexibility, supporting diverse networks and applications. This overcame NCP’s single-layer design, which lacked the versatility needed for the internet’s future growth.
**Inter-networking** was another significant advancement enabled by TCP/IP, allowing multiple networks to connect and function as one. This shift from NCP’s single homogeneous network (ARPANET) to a universal language of interconnected systems established the foundation of the global, decentralized internet we use today.
### DNS (1983)
Introduced in 1983 by Paul Mockapetris, the Domain Name System (DNS) revolutionized how devices on the internet were identified and accessed. It replaced the centralized, cumbersome `HOSTS.TXT` file system with a distributed, hierarchical structure that could scale alongside the rapidly growing internet.
Before DNS, network administrators relied on a single `HOSTS.TXT` file to map human-readable hostnames to IP addresses. This file, managed by the NIC (Network Information Center) at Stanford Research Institute, had to be manually updated and distributed to every system on ARPANET. As the network expanded, this centralized system became a bottleneck, with errors and delays in updates causing significant disruptions. By the early 1980s, maintaining a single centralized file was no longer practical, necessitating a more scalable solution.
DNS addressed these challenges by introducing a hierarchical structure for domain names. Names are organized into a tree-like system, with the root at the top and Top-Level Domains (TLDs) such as .com or .org below it. For example, example.com is divided into levels: com (TLD) and example (Second-Level Domain). This delegation of responsibilities allowed for efficient management and scalability.
DNS also employed a network of distributed servers to store and resolve domain names to IP addresses, eliminating reliance on a single central database. Distributed servers improved reliability, performance, and resilience. DNS servers could cache query results, reducing load and speeding up responses for frequently requested domains. Finally, DNS made the internet far more user-friendly: instead of memorizing numeric IP addresses (e.g., `192.0.2.1`), users could type intuitive domain names (e.g., `example.com`).
By solving the limitations of `HOSTS.TXT` and enhancing usability, DNS became a cornerstone of the modern internet, enabling its global and decentralized nature.
### IRC (1988)
Developed by Jarkko Oikarinen in 1988, Internet Relay Chat (IRC) enabled real-time text communication and played a pivotal role in fostering early online communities. IRC’s innovations built upon earlier protocols and technologies, extending their concepts to create a new paradigm for online interaction.
- **Extending Telnet**: IRC expanded Telnet’s one-to-one communication sessions into multi-user chats within channels, enabling group conversations in real time.
- **Decentralization from Usenet**: IRC adopted Usenet’s decentralized philosophy, applying it to synchronous messaging. Multiple IRC servers could link together to form networks, distributing load and avoiding reliance on a central server.
- **Hierarchical Naming from DNS**: Borrowing from DNS, IRC used a hierarchical naming system for chat channels and users. This allowed intuitive organization, with nicknames and channels globally visible across linked servers.
- **Command-Response Structure**: Inspired by protocols like SMTP and FTP, IRC introduced commands such as /join, /quit, and /msg, simplifying interactions and enabling clients to interpret server messages effectively.
- **Influence of MUDs**: IRC drew from Multi-User Dungeons (MUDs), text-based multiplayer games popular in the 1980s. While MUDs facilitated real-time interactions within virtual worlds, IRC applied the concept to general communication.
Key innovations of IRC included group channels for interaction, flexible user and server configurations, dynamic moderation, and a lightweight protocol. By combining these features, IRC became a cornerstone of real-time online communication, laying the groundwork for modern chat applications.
### HTTP and WWW (1989-1991)
The World Wide Web (WWW) and Hypertext Transfer Protocol (HTTP), introduced by Tim Berners-Lee between 1989 and 1991, revolutionized how information was shared and consumed. These innovations built upon prior technologies, creating the foundation of the modern web.
- **Built on TCP/IP**: HTTP used TCP/IP as its transport layer, ensuring reliable delivery of web content. This interoperability allowed HTTP to function across any device or network supporting TCP/IP, establishing the web as a universal platform.
- **Standardized Resource Addressing**: The introduction of URLs (Uniform Resource Locators), built on DNS, provided a standardized way to locate web resources. URLs combined the protocol (`http://`), domain (`example.com`), and resource path (`/index.html`), enabling precise identification and retrieval of content.
- **Hypertext Implementation**: Berners-Lee implemented hypertext using HTML (Hypertext Markup Language), a simple text-based language for creating web pages. HTML’s support of hyperlinks (`<a>` tags) allowed users to navigate seamlessly between linked resources, turning the web into an interconnected “web” of information. Hypertext, conceptualized by Ted Nelson in the 1960s and seen in systems like NLS and HyperCard, was now available to a global audience.
- Improvement Over FTP: Unlike FTP, which focused on isolated file transfers, HTTP facilitated the retrieval of hyperlinked resources, enabling user-friendly interaction with content and seamless display of linked documents in a browser.
- **Decentralized Architecture**: Inspired by Usenet, the WWW adopted a decentralized design, allowing anyone with a server to host and link content without reliance on a central authority.
- **Structured Metadata**: HTTP extended the use of structured metadata, seen previously in email protocols like SMTP. HTTP headers provided contextual information about requests and responses (e.g., `Content-Type` and `Status Code`), enabling dynamic, interactive communication between clients (browsers) and servers.
**Key Innovations of HTTP and the WWW:**
1. **Stateless Communication Protocol**: HTTP’s stateless design ensured each client-server request was independent, enabling scalability as the web grew.
2. **Cross-Platform Compatibility**: HTTP and HTML were text-based and platform-agnostic, allowing access from any device or operating system.
3. **Interactive Content**: The web unified interactive content (e.g., images, text, and links) into a single environment accessible via a browser.
Together, HTTP and the WWW transformed the internet into a user-friendly, decentralized, and universally accessible medium, laying the groundwork for the web’s exponential growth.
## The Transition from Protocols to Platforms
The shift from the **protocol-driven era** of the open web to the **platform-driven era** marked a profound technological and cultural transformation. Early internet protocols like **TCP/IP**, **DNS**, **HTTP**, **SMTP**, **FTP**, and **Usenet** emphasized decentralization, interoperability, and user empowerment. However, by the mid-1990s, the emergence of proprietary platforms such as AOL, Prodigy, and later Facebook and Google, redefined the internet experience. These platforms offered centralized, user-friendly services but at the cost of openness and decentralization.
The early internet, defined by protocols, empowered individuals and communities to build their own tools and networks. Protocols like **TCP/IP** and **DNS** created a universal framework for connectivity, while decentralized services such as **Usenet** and **IRC** fostered open, self-managed discussions. Tools like **FTP**, **HTTP**, and **SMTP** enabled users to share files, publish content, and communicate freely, embodying the era’s ethos of openness, collaboration, and innovation.
By contrast, the platform-driven internet that emerged in the mid-1990s offered a polished, accessible alternative that abstracted away the technical complexities of the protocol-driven era. Platforms like AOL, Prodigy, and CompuServe created “walled gardens,” restricting users to content and services within their ecosystems. While this made the internet more accessible to non-technical users, it limited their ability to explore and interact with the broader web. Platforms like Facebook and Google later extended this model, becoming dominant gatekeepers for social interaction and information discovery. These centralized platforms hid the complexities of early internet protocols, offering plug-and-play solutions that attracted a general audience. For instance, instead of setting up an FTP server to share files, users could simply upload them to Dropbox or Google Drive. Similarly, proprietary messaging platforms like Facebook Messenger and WhatsApp replaced interoperable protocols such as IRC, locking users into closed ecosystems.
Cultural shifts accompanied these technological changes. In the protocol-driven era, users often acted as both creators and consumers, whether by writing Usenet posts, hosting personal websites, or managing their own email servers. Platforms, however, encouraged a more passive consumption model, with user-generated content controlled within proprietary systems. Trust in gatekeepers grew, with users relying on platforms to curate and deliver information. Search engines like Google became the primary gateway to content, while social platforms dictated social interactions, often reducing individual agency. The communal culture of early internet communities gave way to corporate-driven interactions, as decentralized discussions on Usenet were replaced by centralized forums governed by platform owners. Moreover, the platform era introduced a surveillance-based business model, monetizing user data to serve targeted advertisements—a stark departure from the user-centric and privacy-conscious ethos of the early web.
Despite the dominance of platforms, the foundational protocols of the open web remain critical. **TCP/IP**, **HTTP**, and **DNS** still underpin the internet’s infrastructure, ensuring its basic interoperability. Furthermore, movements like the **fediverse** (e.g., Mastodon), **blockchain-based platforms**, and protocols like **Nostr** aim to revive the ideals of decentralization, user autonomy, and community-driven governance. These efforts reflect a growing desire to reclaim the open and collaborative spirit that defined the early internet.
The transition from protocols to platforms transformed the internet from a decentralized, user-driven network into a centralized, corporate-controlled ecosystem. While platforms made the internet more accessible, they sacrificed openness, user autonomy, and the collaborative ethos of its early days. Revisiting the foundational principles of protocols is crucial for those working to rebuild a more open, equitable internet.
## Closing Thoughts
The evolution from the early decentralized internet to today’s platform-dominated web reflects a shift from protocols that empowered users to systems that prioritize convenience, control, and corporate interests. Early technologies like Usenet, HTTP, and FTP embodied ideals of openness, collaboration, and autonomy, but modern platforms have concentrated power, creating walled gardens and monetizing user data. Yet, the foundational protocols of the internet persist, inspiring new decentralized initiatives like Nostr, Mastodon, and blockchain-based systems. By supporting and adopting applications built on decentralizing protocols, we can reclaim the values of openness, privacy, and user empowerment. Every choice we make—as developers, users, or advocates—shapes the future of the web. Together, we can revive the collaborative spirit of the internet’s origins and help create a more equitable and resilient digital future.
-

@ 9e69e420:d12360c2
2025-02-01 11:16:04

Federal 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.
-

@ df173277:4ec96708
2025-01-28 17:49:54
> Maple is an AI chat tool that allows you to have private conversations with a general-purpose AI assistant. Chats are synced automatically between devices so you can pick up where you left off.\
> [Start chatting for free.](https://trymaple.ai/)
We are excited to announce that [Maple AI](https://trymaple.ai/), our groundbreaking end-to-end encrypted AI chat app built on OpenSecret, is now publicly available. After months of beta testing, we are thrilled to bring this innovative technology to the world.
Maple is an AI chat tool that allows you to have private conversations with a general-purpose AI assistant. It can boost your productivity on work tasks such as writing documentation, creating presentations, and drafting emails. You can also use it for personal items like brainstorming ideas, sorting out life's challenges, and tutoring you on difficult coursework. All your chats are synced automatically in a secure way, so you can start on one device and pick up where you left off on another.
#### Why Secure and Private AI?
In today's digital landscape, it is increasingly evident that security and privacy are essential for individuals and organizations alike. Unfortunately, the current state of AI tools falls short. A staggering 48% of organizations enter non-public company information into AI apps, according to a [recent report by Cisco](https://www.cisco.com/c/en/us/about/trust-center/data-privacy-benchmark-study.html#~key-findings). This practice poses significant risks to company security and intellectual property.
Another concern is for journalists, who often work with sensitive information in hostile environments. Journalists need verification that their information remains confidential and protected when researching topics and communicating with sources in various languages. They are left to use underpowered local AI or input their data into potentially compromised cloud services.
At OpenSecret, we believe it is possible to have both the benefits of AI and the assurance of security and privacy. That's why we created Maple, an app that combines AI productivity with the protection of end-to-end encryption. Our platform ensures that your conversations with AI remain confidential, even from us. The power of the cloud meets the privacy of local.
#### How Does It Work?
Our server code is [open source](https://github.com/OpenSecretCloud/opensecret), and we use confidential computing to provide cryptographic proof that the code running on our servers is the same as the open-source code available for review. This process allows you to verify that your conversations are handled securely and privately without relying on trust. We live by the principle of "Don't trust, verify," and we believe this approach is essential for building in the digital age. You can read a more in-depth write-up on our technology later this week on this site.
#### How Much Does It Cost?
We are committed to making Maple AI accessible to everyone, so we offer a range of pricing plans to suit different needs and budgets. [Our Free plan allows for 10 chats per week, while our Starter plan ($5.99/month) and Pro plan ($20/month)](https://trymaple.ai/pricing) offer more comprehensive solutions for individuals and organizations with heavier workloads. We accept credit cards and Bitcoin (10% discount), allowing you to choose your preferred payment method.
- Free: $0
- Starter: $5.99/month
- Pro: $20/month
Our goal with Maple AI is to create a product that is secure through transparency. By combining open-source code, cryptography, and confidential computing, we can create a new standard for AI conversations - one that prioritizes your security and privacy.
Maple has quickly become a daily tool of productivity for our own work and those of our beta testers. We believe it will bring value to you as well. [Sign up now and start chatting privately with AI for free.](https://trymaple.ai/) Your secrets are safe in the open.
#### Are You An App Developer?
You can build an app like Maple. [OpenSecret provides secure auth, private key management, encrypted data sync, private AI, and more.](https://blog.opensecret.cloud/introducing-opensecret/) Our straightforward API behaves like other backends but automatically adds security and privacy. Use it to secure existing apps or brand-new projects. Protect yourself and your users from the liability of hosting personal data by checking out [OpenSecret](https://opensecret.cloud/).
<img src="https://blossom.primal.net/feb746d5e164e89f0d015646286b88237dce4158f8985e3caaf7e427cebde608.png">
Enjoy private AI Chat 🤘
<img src="https://blossom.primal.net/0594ec56e249de2754ea7dfc225a7ebd46bc298b5af168279ce71f17c2afada0.jpg">
-

@ a012dc82:6458a70d
2025-01-28 15:17:03
In the dynamic world of cryptocurrencies, Bitcoin stands as a pioneering force, a digital currency that has revolutionized the concept of money. Central to its operation and success is a term often heard but not always fully understood: the Bitcoin hashrate. This metric is much more than a technical jargon; it's the heartbeat of the Bitcoin network, powering its transactions, securing its blockchain, and influencing its standing in the market. In this exploration, we delve into the depths of the Bitcoin hashrate, unraveling its complexities and revealing its profound impact on the cryptocurrency market. The hashrate is a window into the soul of Bitcoin, offering insights into its health, efficiency, and future potential. It's a story that intertwines technology, economics, and community, painting a vivid picture of Bitcoin's place in the digital age.
**Table Of Content**
- Understanding Bitcoin Hashrate
- The Role of Hashrate in Network Security
- Hashrate and Decentralization
- Economic Implications for Miners
- Impact on Bitcoin's Market Value
- The Future of Bitcoin's Hashrate
- Conclusion
- FAQs
**Understanding Bitcoin Hashrate**
The Bitcoin hashrate is the powerhouse of the Bitcoin network, a measure of the collective computational effort used to mine and process transactions. It's akin to the horsepower of an engine, driving the network forward. Each hash is a solution to a cryptographic puzzle, and the hashrate signifies the speed at which these puzzles are solved. As Bitcoin's popularity soars, so does the hashrate, reflecting an ever-increasing number of miners vying to validate transactions and create new blocks. This growth is not just a testament to Bitcoin's popularity but also a marker of its robustness and resilience in the face of challenges. The hashrate is a dynamic indicator, fluctuating with the ebb and flow of the network's activity, mirroring the collective effort of thousands of miners around the globe. It's a testament to the decentralized nature of Bitcoin, where no single entity controls the network, but rather a collective effort secures it.
**The Role of Hashrate in Network Security**
Bitcoin's security is its cornerstone, and the hashrate is its shield. In the realm of digital currencies, security threats like the 51% attack loom large, where an entity could potentially take control of the network. However, a high hashrate acts as a formidable barrier, making such attacks not just difficult but economically unfeasible. It's a game of numbers; the higher the hashrate, the more distributed the computational power, and the safer the network. This security is not static but a dynamic force that evolves with the network's growth, adapting to new challenges and fortifying Bitcoin's position as a secure digital asset. The hashrate is a beacon of trust, assuring users and investors alike that the network is robust and resistant to manipulation. It's a critical factor in maintaining the integrity of the blockchain, ensuring that transactions are processed securely and reliably.
**Hashrate and Decentralization**
Decentralization is the soul of Bitcoin, and the hashrate is a reflection of this principle. A decentralized network is less prone to manipulation and control by any single entity, and a high hashrate is indicative of a broad, diverse miner base. This diversity is not just a matter of numbers but a testament to the egalitarian ethos of Bitcoin, where anyone, anywhere, can contribute to the network's upkeep. As the hashrate grows, it weaves a stronger web of participants, each adding to the network's resilience and ensuring its democratic nature. The hashrate is a symbol of the power of the collective, a force that transcends geographical and political boundaries, uniting people under the banner of a decentralized financial system. It's a testament to the vision of Bitcoin's creators, a network that is not just secure and efficient but also open and inclusive.
**Economic Implications for Miners**
For miners, the hashrate is a beacon guiding their economic journey. It's a delicate balance of power, cost, and reward. As the hashrate climbs, so does the difficulty of mining, a self-regulating mechanism ensuring the network's stability. Miners must constantly adapt, balancing the costs of advanced hardware and energy against the potential rewards of new Bitcoins and transaction fees. This ever-shifting landscape is not just a challenge but an opportunity for innovation, driving miners to seek more efficient and sustainable ways to contribute to the network. The hashrate is a measure of opportunity and challenge, a dance of economics and technology where miners play a crucial role. It's a dynamic ecosystem where the fittest survive, adapting to the ever-changing landscape of Bitcoin mining.
**Impact on Bitcoin's Market Value**
The hashrate's influence extends beyond the technical realm into the market. While it doesn't directly dictate Bitcoin's price, it's a barometer of network health and investor confidence. A robust hashrate signals a thriving, secure network, attracting investors and bolstering Bitcoin's market position. It's a subtle yet powerful force, shaping perceptions and influencing decisions in the cryptocurrency market. As Bitcoin continues to evolve, the hashrate stands as a key indicator of its vitality and appeal to the market. The hashrate and market value are intertwined in a complex dance, where the health of the network reflects and influences investor sentiment. It's a symbiotic relationship, where each aspect feeds into and strengthens the other.
**The Future of Bitcoin's Hashrate**
As we look to the future, the Bitcoin hashrate remains a critical aspect of the cryptocurrency's journey. It's not just a measure of computational power but a symbol of the network's evolution, a testament to its strength and a predictor of its potential. The hashrate's trajectory mirrors Bitcoin's own path: ever upward, facing challenges, adapting, and growing stronger. It's a journey not just of technology but of community, innovation, and the relentless pursuit of a decentralized financial future. The hashrate is a narrative of progress, a story of how a decentralized network can grow, adapt, and thrive in the ever-changing landscape of digital currencies. It's a beacon of hope and a testament to the power of collective effort in shaping the future of finance.
**Conclusion**
The Bitcoin hashrate is more than a technical metric; it's the lifeblood of the Bitcoin ecosystem. It encapsulates the network's security, decentralization, economic dynamics, and market influence. As Bitcoin continues to navigate the complex landscape of digital currencies, its hashrate will remain a key indicator of its health and success. It's a story of collective effort, technological innovation, and the relentless pursuit of a decentralized, secure financial future. The hashrate is not just a number; it's the pulse of Bitcoin, beating strongly as it leads the charge in the ever-evolving world of cryptocurrencies. It's a symbol of resilience, a testament to the enduring power of a decentralized network, and a beacon of hope for a future where financial systems are open, secure, and accessible to all.
**FAQs**
**What is Bitcoin hashrate?**
The Bitcoin hashrate is the total computational power used to mine and process transactions on the Bitcoin network, measured in hashes per second.
**Why is the Bitcoin hashrate important?**
It's crucial for network security, indicating the difficulty of performing a 51% attack, and reflects the network's decentralization and health.
**How does the hashrate affect Bitcoin miners?**
A higher hashrate increases the difficulty of mining, impacting the profitability and efficiency of mining operations.
**Does the Bitcoin hashrate influence its market value?**
While not directly affecting the price, a strong hashrate can boost investor confidence, potentially influencing Bitcoin's market value.
**Can the Bitcoin hashrate predict the future of the cryptocurrency?**
The hashrate is a key indicator of Bitcoin's health and can provide insights into its future potential and stability.
**That's all for today**
**If you want more, be sure to follow us on:**
**NOSTR: croxroad@getalby.com**
**X: [@croxroadnews.co](https://x.com/croxroadnewsco)**
**Instagram: [@croxroadnews.co](https://www.instagram.com/croxroadnews.co/)**
**Youtube: [@croxroadnews](https://www.youtube.com/@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.*
-

@ 0463223a:3b14d673
2025-01-28 09:38:30
I still don’t have much of an idea how it all works, even after all these years. I scroll around the web looking for connection and often don’t find it. Building on the theme I wrote before, how some folks are very sure of themselves. I still don’t get it. A critique people had of me in the past was a lack of confidence. That’s a hard thing to deal with as a man. The statement is really saying you’re low status and if only this that and a third, you’d be a decent human. Cheers!
I’m a recluse. There’s been periods of life I’ve been non verbal and I’ve avoided social interaction a lot. On the flip, I got quite good at wiggling records about to make funny noises and this enabled me to involve myself in music in various was, despite never being a ‘proper musician’, you know, like someone who plays a guitar or piano etc. Over a very long time frame I’ve found myself around music makers that I share common interest with, be that Dub, Hip Hop, weird noises etc. It’s funny, I now know some pretty serious players within those genres and count as few as good friends. It’s fucking mental to be honest. I’ve ticked off a number of childhood heroes, probably people you don’t know, some you would’ve definitely heard on radio but wouldn’t know their names.
I like to think I’m quite good at what I do but the confidence thing is still difficult. Had I moved to London in my youth I could've earned a lot more money, especially in the 90s when there was actually a functioning music industry but I know I can’t deal with that level of hectic so I’ve remained in small places by the sea both in the UK and abroad.
I’ve been working on an album for the best part of a year and have 4 tracks I feel happy with, at least I feel they’re a good representation of my abilities and I’ve been very lucky to have a world class player contribute bass on a couple of tracks. I don’t share the talents of my compardres but as one well known musician I toured with said to me, “I know you’re for the band”. A simple statement but that’s what mattered to him. He liked that I gave a shit about how they sounded, despite beating myself up because I often felt I was fucking their sound up big time (I didn’t let on, with the exception of one gig where EVERYTHING went wrong. I went straight to the dressing room after and flung myself at the mercy of the band apologising!).
After many years I’ve found my groove. Now I’m on this protocol called Nostr. It’s a strange place. It’s very niche, made up of money obsessed nutters. I share some of their beliefs but not all. It’s very American (is anywhere online not?) but it’s cool. I’m finding myself there more and more. I quit all major platforms in 2019. I’d learned too much nasty shit to contribute to making the companies richer. It’s weird, many people don’t seem to realise, you can stop using these platforms and they disappear. That’s the only thing giving these people power. Maybe people enjoy being milked for data? Do cows like having their teets clamped for milking? I’ve never got an answer from one…
Prior to that I found some weird internet money thing which is also becoming more popular, even the President of the USA has some (I think, he also has some other funny tokens and appears to be scamming people big time, yet people still really dig him for some reason).
This funny money has given me something I’ve not really had before, at least since I was maybe 10. A sense of security. It’s remarkable how much more mentally stable it can make you. When I lost my last living place (usual landlord BS) I moved in with my now wife and built a shed, filled it with noise making stuff. That wouldn’t have been possible without my anger towards the banks and how our governments gave them a free pass after they fucked us all. Some deep shit happened but that’s a whole other story. This thing internet money seems to be catching on...
Now I watch higher status folks stake their claim on the world. I try to zone them out as best I can, at least when they’re telling me how successful they are for reasons and playing their status games online. I’m much more interested in learning, mostly via audio, I’ve spent more hours listening to people I disagree with online than I can keep track of. I learn what I can from them and do my best to disregard the noise and try to maintain an awareness of my biases.
I don’t want to agree with everyone here. The moment I do, I know I’m doing something wrong.
They’ll be someone reading this, maybe you, thinking this is utter cringe. Fair enough, I’m not here for you, I’m looking for cool noise makers and weird people to hang with. Clearly this is self indulgent bollocks but fuck it, I’ll put it on this Nostr thing anyway.
-

@ 77110427:f621e11c
2025-01-27 18:40:44
All credit to Guns Magazine. Read the full issue here ⬇️
[May 1957 PDF](https://gunsmagazine.com/wp-content/uploads/2018/12/G0557.pdf)
---




















---
### Past Magazine Mondays
[001: May 1963](https://1776.npub.pro/post/note1r5ve5en9tyv38hathy2twhm9h4dn7tq7fgradzkazskxyxtckysqeqxyzm/)
[002: August 1969](https://1776.npub.pro/post/note1zkeur68w9h8ljswp4a4xc45exfv725v6vudqdhyukqz6kz37vdaq097f9z/)
[003: February 1970](https://1776.npub.pro/post/1733177494421/)
---
### More from 1776 HODL
[Full Auto Friday](https://1776.npub.pro/tag/fullautofriday/)
[Sniper Saturday](https://1776.npub.pro/tag/snipersaturday/)
[Shotgun Sunday](https://1776.npub.pro/tag/shotgunsunday/)
[Infographics](https://1776.npub.pro/tag/infographic/)
[Gun Memes](https://1776.npub.pro/tag/memestr/)
---
### Website
[1776 Hodl](https://1776.npub.pro)
-

@ a012dc82:6458a70d
2025-01-27 12:51:47
In the contemporary financial world, Cathie Wood, the founder of ARK Invest, stands out for her innovative investment approaches. Recently, Wood has focused on Bitcoin (BTC), highlighting its potential as a hedge against both inflationary and deflationary economic conditions. This article delves into Wood's perspective, exploring Bitcoin's evolving role in the global financial landscape. We examine its multifaceted nature, not just as a digital currency, but as a strategic asset capable of navigating the complex dynamics of the modern economy. Wood's insights offer a nuanced understanding of Bitcoin's potential in offering stability amidst economic uncertainties.
**Table Of Content**
- Bitcoin's Hedge Potential
- Decentralization: A Key Advantage
- The Banking Crisis and Bitcoin
- Bitcoin vs. Gold
- Institutional Involvement
- Conclusion
- FAQs
**Bitcoin's Hedge Potential**
Cathie Wood's perspective on Bitcoin transcends its usual perception as a mere digital currency. She champions it as a dynamic tool against economic fluctuations, a quality rarely matched by traditional assets. In an era marked by economic instability, Bitcoin stands as a beacon of potential stability. This is particularly notable in its capacity to act as a hedge during inflationary periods, where fiat currencies lose value, and deflationary periods, characterized by increased money value but decreased economic activity. This dual capability positions Bitcoin as a significant asset in diversified portfolios, resonating with Wood's innovative investment philosophy.
**Decentralization: A Key Advantage**
For Wood, Bitcoin's decentralization is a critical advantage. This aspect sets it apart from traditional banking systems, which often grapple with issues of transparency and central control. In Bitcoin's ecosystem, there is a clear absence of counterparty risk, thanks to its decentralized ledger and visible transactions. This transparency assures investors of a level of security and autonomy not found in conventional financial systems. In Wood's view, this decentralization is not just a technical feature but a foundational aspect that provides Bitcoin with a resilience and reliability, crucial in a world where financial systems are increasingly interconnected and vulnerable.
**The Banking Crisis and Bitcoin**
Reflecting on recent financial upheavals, such as the U.S. regional bank crisis and the FTX collapse, Wood sees these events as vindications of Bitcoin's stability and resilience. These crises underscored the inherent risks of centralized financial systems, revealing their fragility under stress. In contrast, Bitcoin demonstrated an impressive resilience, with its value surging during these tumultuous times. This reaction not only highlights Bitcoin's potential as a safe haven but also its capacity to serve as a barometer for the health of the broader financial system.
**Bitcoin vs. Gold**
While gold has traditionally been the go-to asset for hedge investments, Wood argues that Bitcoin has a distinct edge over it. Her preference for Bitcoin stems from its novelty and the increasing interest from younger investors and institutional players. Unlike gold, whose market and demand patterns are well-established, Bitcoin represents an emerging asset class with untapped potential. Wood believes that Bitcoin's journey is just beginning, and its full potential as a hedge asset is yet to be realized, making it a more attractive option for forward-looking investors.
**Institutional Involvement**
Wood's belief in Bitcoin's future is mirrored in ARK Invest's substantial investments in cryptocurrency-related ventures. These investments are not mere speculative plays; they represent a deep conviction in the long-term value of Bitcoin. ARK's pursuit of a spot Bitcoin ETF is a significant move, indicating a belief in the cryptocurrency's viability as a mainstream investment asset. This institutional backing by a leading investment firm not only legitimizes Bitcoin's role in the financial markets but also paves the way for more widespread adoption among traditional investors.
**Conclusion**
Cathie Wood's endorsement of Bitcoin is a compelling narrative in the evolving story of this digital asset. Her insights provide a valuable perspective on Bitcoin's role as a hedge against both inflation and deflation, highlighting its potential in the current economic climate. As we navigate through uncertain financial times, Wood's views offer a guidepost for investors looking to diversify and stabilize their portfolios with innovative assets like Bitcoin.
**FAQs**
**What is Cathie Wood's view on Bitcoin?**
Cathie Wood sees Bitcoin as a viable hedge against both inflation and deflation, highlighting its decentralized nature and resilience.
**Why does Wood prefer Bitcoin over traditional banking systems?**
Wood values Bitcoin's transparency and lack of counterparty risk, contrasting it with the opacity of traditional banking systems.
**How did the banking crisis impact Bitcoin's value?**
The U.S. regional bank crisis and the FTX collapse showed Bitcoin's stability, with its value increasing during these times.
**Why does Wood favor Bitcoin over gold?**
Wood believes Bitcoin has more potential for growth and is more appealing to younger investors and institutions compared to gold.
**What is ARK Invest's involvement in Bitcoin?**
ARK Invest holds significant stakes in cryptocurrency ventures and is pursuing a spot Bitcoin ETF, reflecting a strong belief in Bitcoin's future.
**That's all for today**
**If you want more, be sure to follow us on:**
**NOSTR: croxroad@getalby.com**
**X: [@croxroadnews.co](https://x.com/croxroadnewsco)**
**Instagram: [@croxroadnews.co](https://www.instagram.com/croxroadnews.co/)**
**Youtube: [@croxroadnews](https://www.youtube.com/@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.*
-

@ 9e69e420:d12360c2
2025-01-30 12:23:04
Tech 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)
-

@ 9e69e420:d12360c2
2025-01-30 12:13:39
Salwan Momika, a Christian Iraqi known for burning the Koran in Sweden, was shot dead during a TikTok livestream in an apartment in Sodertalje. The 38-year-old sparked outrage in the Muslim community for his demonstrations, leading to global condemnation. After being rushed to the hospital, he was pronounced dead.
Authorities arrested five individuals in connection with the incident. Momika's death comes days before a court ruling on his possible incitement of ethnic hatred. The incident highlights the tensions surrounding free speech and religious sentiments, intensifying after his controversial protests in 2023.
[Sauce](https://www.dailymail.co.uk/news/article-14341423/Christian-Iraqi-burnt-Koran-Sweden-shot-dead.html)
-

@ 0fa80bd3:ea7325de
2025-01-29 05:55:02
The 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:44
Secretary 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.
-

@ cf7ed325:050194cf
2025-01-27 12:39:41
[]()The [Steigenberger Minerva Nile Cruise](https://www.etbtoursegypt.com/tour/Steinberger-Minerva-Nile-Cruise) offers an exceptional way to explore Egypt's ancient wonders while cruising along the timeless Nile River. This luxurious cruise combines modern amenities with traditional Egyptian hospitality, making it an ideal choice for those seeking comfort and adventure. With spacious cabins, fine dining, and various entertainment options, the Steigenberger Minerva promises an unforgettable experience.
While aboard, guests can enjoy a range of excursions to famous sites like the Pyramids of Giza, Luxor Temple, and the Valley of the Kings. The ship provides a perfect base for exploring Egypt’s rich history, from the bustling streets of Cairo to the serene landscapes of Aswan. The cruise features a blend of relaxation and adventure, offering guests an opportunity to unwind while taking in Egypt's stunning scenery.
In addition to the Steigenberger Minerva Nile Cruise, Egypt offers a variety of other luxurious options. For example, the [Farah Nile Cruise](https://www.etbtoursegypt.com/tour/MS-Farah-Nile-Cruise) is known for its elegant design and top-notch service, while the [Gemma Nile Cruise](https://www.etbtoursegypt.com/tour/gemma-nile-cruise) provides a more intimate, boutique experience. The [Movenpick SS Misr Nile Cruise](https://www.etbtoursegypt.com/tour/moevenpick-ss-misr-steamer-nile-cruise) is another excellent choice for those who enjoy a classic, refined atmosphere on the river.
If you’re looking for other luxury cruises, consider the [Nile Capital Nile Cruise](https://www.etbtoursegypt.com/tour/nile-capital-cruise), which combines modern comfort with historical exploration, or the [Movenpick Hamees Nile Cruise](https://www.etbtoursegypt.com/tour/Movenpick-Hamees-Nile-Cruise), a ship that offers a unique blend of luxury and cultural immersion. The Movenpick Lotus Nile Cruise and the [Jaz Regent Nile Cruise](https://www.etbtoursegypt.com/tour/Jaz-Regent-Nile-Cruise) are also popular choices, known for their impeccable service and well-designed cabins.
For a more opulent experience, the [Jaz Crown Jewel Nile Cruise](https://www.etbtoursegypt.com/tour/Jaz-Crown-Jewel-Nile-Cruise) is a top contender, while the [Salacia Nile Cruise](https://www.etbtoursegypt.com/tour/MS-Salacia-Nile-cruise) and Nabilatan Nile Cruise provide a more exclusive atmosphere. Alternatively, the [Tulip Nile Cruise](https://www.etbtoursegypt.com/tour/Tulip-Nile-Cruise-Luxor-Aswan) and [Tia Nile Cruise](https://www.etbtoursegypt.com/tour/ms-tia-nile-cruise) offer comfortable accommodations with excellent amenities.
No matter which cruise you choose, Egypt's Nile River promises an unforgettable journey through history and culture.
🌐 Visit us at www.etbtoursegypt.com
📲 Contact us now! +20 10 21100873
📧 Email: info@etbtours.com
🏢 Company Address: 4 El Lebeny Axis , Nazlet Al Batran , Al Haram, Giza , Egypt
-

@ 0463223a:3b14d673
2025-01-27 10:47:00
I wrote this article back in 2019 but I wanted to see how it stood up today. Since writing this I’ve been diagnosed with autism. However, I question this. For sure I’ve gone through lots of ups and downs in life. Some issues probably due to childhood trauma, others due to drugs etc. but I still ask if is a natural response to bullshit.
I don’t write this to belittle any problems anyone has and the autism spectrum disorder is real (but not disorder to me). When the whole population gets diagnosed as neurodivergent what next?
If you need help, get help. I write this as a person trying to get off the drugs prescribed to me many years ago. Something I’m finding difficult but I will do it…
From 2019
A large part of the adult population in the Western World are mad, mental, bonkers, have lost their marbles and are totally insane. Well, that’s at least according to the World Health Organisation
A recent WHO report stated one in four people in the world will be affected by mental or neurological disorders at some point in their lives. And there’s a very high chance that you, the reader, are completely off your rocker.
Mental Health is the buzzphrase of our times. It’s on the TV, the radio and all over the internet. The UK’s Prime Minister goes on TV to state how big the problem is and just how very seriously she takes it and we’re assured the government are working extremely hard to tackle it. However, the rhetoric never amounts to anything, as anyone seeking genuine help will attest.
Help is hard to come by. Doctors prescribe pills to subdue the wrong thoughts, but nothing else. No long term solutions, just keep taking the pills.
Hundreds of thousands of adults are medicated in this way and now, more worryingly, are many children.
So it’s vital to talk about it. It’s permanently Mentalspeng Awareness Day or Tell Facebacon Your Neurologicalwankfuck Week.
It’s even become quite fashionable, with regular treats from celebrities telling of their darkest moments and how they nearly didn’t get that huge Hollywood deal because they woke up feeling sad and unhappy one winter morning.
If you’re a fruit-loop tell everyone. It will be ok…
Tell them about the time you were going to drive your car off a cliff and ended up in hospital after a particularly long conversation with The Samaritans. Great stuff!
Tell them about the regular, uncontrollable urges to slash yourself with a Stanley knife or any other sharp object close to hand. Awesome!
Tell them about how you smash yourself repeatedly in the head, sometimes with a heavy object, as you can no longer deal with the stress and frustration of being disempowered by situations completely out of your control. Cool!
Tell them how you feel trapped by an increasingly expensive housing market and how you have zero financial security. Brilliant!
Or maybe just tell them that sometimes you can’t get out of bed and you don’t know why or that you panic uncontrollably for no reason. Skills!
Tell the world!
We’re so understanding of mental health issues these days, just raise more awareness and everything will be fine, we’re here for you man/woman! (and yes, we might need to sell this information on to the appropriate persons, future employers, insurance companies or government agencies etc.).
After all, we’re all good people right? Tell everyone you’re mad and they’ll understand. They’ll think of the time you were a dick and they’ll say “Ahh, poor sod, you know he’s a mental don’t you”.
Well frankly no. The world is full of cunts and whilst the people close to you will be sympathetic, as far as wider society goes, you’ll be marked, your position compromised and your word will not be trusted. I mean who knows, maybe you’re delusional, perhaps you’re about to rampage through town wielding a knife or driving your car into a crowded supermarket…
But hold up…. One in every four of us is mental?! Is that really the case? Let’s think about this for a second. When did 25% of the population become a massive neurospeng?
This wasn’t the case 30 years ago, a quarter of the population weren’t mad. There wasn’t the vast array of medications available these days; Prozac, Sertraline, Citralopram, Promethazine, Venlafaxine, Amiltryptaline, to name a few (there are many, many more).
It’s clear that a lot of people aren’t feeling right but how come the suicide rates are higher now than they were 30 years ago? If we’re all so much more aware and well medicated, surely rates would be going down?
Perhaps you were diagnosed as a mental because you responded negatively to events happening around you?
Maybe you’re working increasingly longer hours for less money. Perhaps the terms of your work changed drastically and you no longer feel secure. Maybe you lost jobs because of funding cut backs.
Perhaps you’re in despair because your friend took their own life when their job was cut in an austerity drive.
Suicide is the most horrible thing which ever way you look at it. You strip a person of their purpose and they react with the most extreme act of self violence, causing an unbelievable amount of emotional distress for those left to pick up the pieces… And so we say, “Ahh but you understand, they were mad… They were fucking mental, they lost control of their senses, it such a terrible shame but they were mad you know”.
Bullshit.
The term Mental Health removes all responsibility from the structures creating an environment where people are deemed no longer of value or viable human beings.
But maybe you were angry because you were told by politicians that you need to live within your means, whilst those in large financial institutions increased their wealth exponentially? The world economy crashed in 2008 and there’s no money. Eh? The governments of printed more and more money, but there’s no money for you, you cunt.
Perhaps it was packed aboard a spaceship and is now hurtling towards Mars! (mad people tend to think like this, after all it couldn’t be that the money was stolen).
Maybe you got angry with the blatant corruption from those in public life? Politicians shout loudly that they’re for the people but will pocket pay rises, local council officials bully members of the public and make threats to cut funding .
This can be done with total with total impunity, as the structures put in place to control such actions cover up any wrong doing. You see the powerful can not and will not be challenged. There is no pathway to justice.
When the fire at Grenfell happened, it was clear for all to see that the housing association, council and big business were at fault, but no, blame was heaped on the lone fire officer who had the awful task of managing two lowly fire engines in London’s biggest fire since World War II.
At the time my local Member of Parliament response was “the flats were refurbished to a very high standard”. We shouldn’t lay blame at those in power, we cannot have any fault with the establishment. I bet that poor fire officer was a mental too…
When discussing mental health we’re not talking about a brain injury or unfortunate illness. There’s extreme difficulty coping with the world but it’s not madness and it’s not a delusion.
It’s a natural reaction to bullshit. We’re are completely surrounded by bullshit, on the internet bullshit, on the TV bullshit, in the work place bullshit, from our leaders bullshit etc. etc. The world is running on massive excess levels of bullshit.
And this is the natural emotional response to bullshit.
Mental Health is used to invalidate the anger, freeing the powerful from responsibility and laying blame squarely at the individuals door. In the meantime, piece by piece, the powerful steal everything we’ve ever owned.
So next time someone says to you raise awareness about mental health, maybe tell them to fuck off.
Either that or tell them you’re flying to the Moon to have tea with Kim Jong Un and Barney The Dinosaur.
Fuck mental health.
*Image used without permission of Barney The Dinosaur.
-

@ 97121c7b:30a10e4e
2025-01-27 07:05:52
**test descripties**
c ![data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%22-1.5%20-1.5%208%208%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22hsl(160%2095%25%2045%25)%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3C%2Fsvg%3E]()
-

@ 97121c7b:30a10e4e
2025-01-27 06:18:42
here is where the content will be
just a test
-

@ 2d71bbd8:0088d52f
2025-01-27 05:14:52
Some say certain events change our lives in such extreme ways that you will remember them as marking a before and an after. We could say that about some chaotic events making the news, or changes sweeping away the known ways of the world, like a new wave of technology. Something more meaningful can happen to each of us, transforming our lives in deeper ways: love.
I remember a time before him, and everything else is life with him.
Love can feel like a ghost arriving with unpredictable timing and difficult to imagine until you live it. Some think it's real though they've never experienced it. Others spend their lifetimes looking for it. Others think it doesn't exist, and that heartbreak is proof of that. Why does love feel so elusive? How do we even recognize what love is, *real* love. I'm recalling a scene in the movie While You Were Sleeping, which asks the question, "When did you fall in love with him?". The answer being the title of the movie. If you've experienced love, when did you know you were in love?
For me, it was a particular moment where he started digging into what I thought about something. We had spent many days exchanging conversations, I don't remember exactly how long. They felt formal, structured, without as much depth to them. It was as if we didn't yet feel free to be ourselves. I don't remember what we were talking about that specific night, but he was genuinely interested in what I was saying. Many can fake conversations, but this was not that. We had a deeper spontaneous conversation, and he continues to do that almost every single day. We are constantly extending the roots of our history.
Our lifetimes may be but dust in the existence of the universe, but, in this brief moment in time (which seems long to us), we have shared more thoughts than I have probably exchanged with most of the people I know, combined. I didn't think that was possible nor bearable, yet it feels comfortable and often cozy, even after all these years. I miss it significantly when we have gotten busy on something else in our lives. I thought it would fall back into the mundane, but it doesn't. It is like magnetic curiosity on fire.
Not a day goes by where I don't wonder how my life became so blessed by his existence. He has been an oasis, as there is no topic we cannot talk about or dive into respectfully and deeply. Life is not an easy clear path we walk on everyday. On days of turmoil, when emotional waves are crashing on the shores of our hearts, it is this ability to tell each other anything that has resolved most of the issues at core. Listening to what we each have to say has granted us an understanding of the situation no one else could have. The listening is the starting foundation, as we build a compilation of moments on it, like blocks on a Bitcoin blockchain that cannot be undone.
We often hear that happiness is the goal for a relationship, but we haven't experienced a relationship until we have walked through the whole range of emotions together. It is in those moments, where we're hanging on to each other for strength, that you realize the power of love. It is the sweetest nectar that carries you forward, even during bitter times.
There is a before and an after, and I feel grateful for living in the after, for as long as life grants us time.
I often wonder about all those little details that make him special to me, but also their opposite, which makes it often into our conversations as we decide what we want our love to be. It is as if we were creating a compass to how to love from understanding the differences between what we value and what we choose to leave out. It is not a ruleset. It works like a protocol.
It may be a cultural aspect of today's society, which favors women who do not speak their mind, but I hardly ever remember anyone being seriously interested in what I was saying. I've sometimes heard the idea of how we look more beautiful when we're quiet. I don't think beauty could be silent, as it lives within the heart, and you would never get to know it if it doesn't have a voice of its own.
I'm very familiar with the faces of people reacting to something a woman says. It takes different shapes. Some are worried about what you might say, even after they've asked for your advice. They can be concerned that your differing patterns of thinking might reveal a truth they are trying hard to conceal or ignore. Yet our thinking as individuals is often lacking in perspective, and we cannot gaze at the forest while being a tree. Humans are meant to be connected, and exchanging information is an important part of that connection.
Another familiar stare are those vacant eyes, similar nowadays to people looking at their phones. Cancel culture is comparable, as it ignores variety of thought, to live within a controlled sphere of what is acceptable, where truth cannot thrive. On social media, you may not see people's faces, but you can feel the coldness of their silence, as if they had turned their back on a part of their humanity. It used to be that we would only experience reactions from people, now it's not only the people but algorithms, bots.... I understand the need to feel comfortable somewhere, but I've learned the beauty of welcoming human thought, and with it heart. It is like staring out into the ocean, and realizing how small we are. A place where you cannot be yourself, and where you are worried about being censored if you speak on specific topics, seems like a lonely one. I'm grateful we have our own little niche of freedom here.
The worst reactions to differing voices are attacks, regardless of what you have to say. It is like that old Aesop's fable "The Man, the Boy, and the Donkey." That large book of fables is engraved in my childhood memories, with most of its fables lost to time, as if it was perpetually open to that one page. I didn't know then just how important it would be to love. Love requires you to be you. No alternative exists, nor would you want one, once you feel the freedom. As he likes to say, "It is those things you think are imperfect and flawed within you, that I love."
I learned early on that people's reactions are often a reflection of inner turmoil, so you always wonder what each person has lived through that has made them react to you so negatively. Some people seem wired for fighting without a conscious awareness of what's behind their fighting, as if they were trolls, forgoing the benefits of working toward similar goals. Others seem to enjoy the attention that comes with the chaos, and the likes from spreading lies. I wish there was a stronger culture of respect and a desire to understand and learn from each other, as I feel the benefits of that everyday with him. It seems strange to gaze at the conversations of people fighting each other to where they've forgotten what started the fight, and they continue fighting over nothing.
The human desire for ignoring differing points of view or bringing them down runs deeper and more widespread than I'd like. It's as if mutual listening has become a lost art. Without listening, knowledge fades away, along with empathy. Social media may be changing part of the culture, though at times it seems to magnify the issues. The existence of nostr, however, gives me hope, as it's core principle is to value human thought and the diverse ways to protect it. I am grateful for how it encourages a building of trust based on verification, shaping the foundation for both identity and communities.
Who are we if we cannot listen to each other. Who are we if we favor silence of what we do not understand or what is different. Could humanity be what it is today if people didn't exchange their voices and built upon them. Who are we if we silence criticism, when it is through constructive criticism that we grow. Would we want silence of what makes us unique to be the norm for those we love and those who will come in future generations, as if we were a single minded machine puppeteered by a few. Without an ability to think and speak freely, we lose the foundation that makes love possible. Without love it is as if we haven't lived.
-

@ bbb5dda0:f09e2747
2025-01-27 03:22:10
At Nostriga in the middle of last year I got introduced to TollGate, a project to resell internet access, I was fascinated and hyped for this to become a thing. Later during SEC-03 I got involved in the development of TollGate and helped work out the idea utilizing Nostr to make the experience of using a TollGate super smooth. That's where the idea started to make a cross-platform app that would autoconnect and start streaming sats to TollGates for internet access.
I'd been working on it here and there and this week I feel like I got in to the developer high (i'm sure some of you know what that feels like) and I just wanted to see the android app work! So as the week moved along I just kept being drawn in. And progress there was! The vision we had during SEC is coming to be a reality very fast.
**TL;DR** There's a demo video at the bottom.
## Quick CI/CD update
I've been talking to DanConwayDev to work together on getting the UI for the pipelines into GitWorkshop, which would be the perfect place for it. He's in the middle of a rewrite, so when that is progressing a bit more we'll cooperate on making this part of it, stay tuned!
## Whoami
I started by creating a service that would run on every TollGate router that a client can use to fetch their own MAC address that's later included in the payment. The MAC address is the anchor for the router to allow/disallow access. The problem we have on Android is that the operating system restricts access to this information. But since we control the router, we can work around it by creating a predictable endpoint that gives us back this answer.
## Beacon frames
Routers use something called Beacon Frames, which are sent out regularly and it is the thing your phone looks at when scanning for wifi networks. It contains the name of the network (SSID) and a whole bunch of other stuff you don't usually see.
We're utilising these beacon frames to add some information specific to tollgates. There is a field in these beacon frames called 'vendor elements'. Which is originally only intended for use by manufacturers of routers. But ofcourse we can utilize them too. Which is exactly what we do.
I eperimented with these beacon frames to see how many of them we can broadcast. It turns out that we're limited to only one of them, but the good news is we can fit up to 249 characters (256 - a few reserved ones) in there.
This is amazing because it will fit everything we need in there.
We put in:
- Nostr npub
- TollGate version
- Gateway IP (required to get around OS limitations)
- allocationType (KiB/Minutes)
- price per 1024 units (eg: 104900 sats per 1024 KiB)
- price units (sat)
So now any tollgate can broadcast this info, which is used by clients to decide wether or not they should connect. And if they do, where the payment should go.
## Suggestions, Suggestions, Suggestions
Unfortunately, Android in the past few years has locked down the wifi api's and we can no longer fully autoconnect to networks. Instead we have to use the 'wifi suggestions' API. As the name implies, it will only suggest a nework to a user using a silent notification that they have to press to actually connect. But alas, we'll work with that and if it's the only user-action required, that's still quite okay.
It took me quite a while to figure out the way the OS handles these suggestions, but eventually I got it to work and was able to get the flow to work!
## Adding the payment
Ok this part doesn't include an actual payment yet, but all the components are in place now for a (semi-)automatic tollgate connection, which is EPIC!
In this version i still manually tap 'connect', but this can and will be automatic soon.
So the steps are as follows (this happens in a few seconds):
- 📲 TollGate App scans for networks and filters for TollGates
- 👤 User taps Connect [to be automated]
- 📲 TollGate App suggests network
- 👤 User taps suggestion notification to connect
- 🤖 Android connects to network
- 📲 TollGate App fetches it's own MAC address (whoami service on router)
- 📲 TollGate App Connects to Nostr relay (running on the router)
- 📲 TollGate App Sends payment
- 🛜 Router receives payment (merchant module)
- 🛜 Router creates session (merchant module)
- 🛜 Router opens the gate for user (valve module)
- 🛜 Router closes the gate for user, when purchase runs out (valve module)
I made this recording, it has a small caveat that at the end the page loaded because I was on 5g, the OS still thought the wifi network had a captive portal open. But there's an API to mark it as dismissed, which we can easily implement. So that's an issue we can overcome!
## Demo video
https://cdn.satellite.earth/ede26976043a0b8edf278ea51aa0c00e721d2134c4e456928192090ea660bda0.mp4
-

@ 76c71aae:3e29cafa
2025-01-26 22:51:16
When I first heard about the DOGE project, I was ready to throw my laptop out the window. The [initial proposal](https://archive.is/nFNp4) read like a Silicon Valley libertarian fever dream - taking Musk's chaotic "move fast and break democracy" Twitter approach and unleashing it on federal agencies. Great, I thought, just what we need: more tech bros thinking they can "optimize" public institutions into oblivion.
But here's the weird thing - when you actually dig into [what DOGE has morphed into](https://www.nextgov.com/people/2025/01/us-digital-service-employees-are-being-re-interviewed-under-doge-transition/402423/), it's basically just USDS with a meme-worthy rebrand. For those not deep in the civic tech weeds, USDS was Obama's attempt to drag government technology out of the 1990s, inspired by the UK's actually-functional GDS program. And let's be real - government tech procurement is an absolute dumpster fire right now. We're talking billions wasted on projects that would make a CS101 student cringe, while the average American has to navigate websites that look like they were designed on GeoCities.
The deeply ironic thing is that Musk - for all his cosplaying as a technocratic messiah following in his grandfather's footsteps of dreaming up an antidemocratic technocratic state - actually has some relevant experience here. SpaceX did figure out how to work with government contracts without producing $500 million paperweights, and Tesla somehow gamed clean vehicle incentives into birthing the first new major car company since we invented radio.
Look, I'm the first to roll my eyes at Musk's wannabe-fascist posting sprees and his perpetual "I'm the main character of capitalism" energy. But speaking as someone who's banged their head against the wall of government technology modernization for years - if he actually focuses on the tech and keeps his brainrot political takes to himself, maybe DOGE could do some good?
Even Jen Pahlka, who basically wrote the book on government digital services, [is cautiously optimistic](https://fedscoop.com/trump-wants-a-doge-an-obama-era-tech-official-has-some-tips/). The services Americans get from their government are objectively terrible, and the procurement system is trapped in an infinite loop of failure. Maybe - and I can't believe I'm typing this - Musk's particular flavor of disruptive tech deployment could help?
Just... please, for the love of all things agile, let's keep him focused on the actual technology and far away from any more attempts to recreate his grandfather's dreams of a technocratic dystopia. We've got enough of those already.
-

@ 0463223a:3b14d673
2025-01-26 13:07:36
Hmm so I heard that in order to improve my brain I should try writing… Ok groovy, I’ll give it a go. In all honesty I don’t know what to write, my brain is a jumble of noise and titbits of random knowledge. I likely know more about sound than the average person but as physics goes, I don’t have anything new or profound to add. Air moves and noises happen. Is there really any more to it? I could write some flowery bollocks about refraction, absorption coefficients and reverberation times, or I could write some out there, arty shit but I don’t think that adds any value to anyone.
A lot of folks online have very strong beliefs in how the world operates or should operate. Whilst their conviction is strong, there’s also is a large percentage of people who totally disagree with them and think the exact opposite is the answer. That’s quite shit isn’t it? Humans have been around for 100,000 years or so and haven’t worked it out. I wonder what makes the internet celeb so certain they’ve got it right when the next internet celeb completely disagrees? I do my best to avoid any of these cunts but despite running to the obscurest social media platforms they still turn up with their profound statements. Meh.
Ideologically I’m leaning toward anarchism but even that seems full of arguments and contradictions and ultimately I don’t think I can be arsed with identifying with any particular ideology. I tried reading some philosophy and struggled with it, although I deep fall into a lovely deep sleep. It’s fair to say I’m not the brightest button in the box. I have a wife, a couple of cats and lots of things that make nosies in my shed. That’s pretty cool right? Well it works for me.
So why write this? I clearly wrote in the first sentence that I’m trying to improve my brain, a brain that’s gone through a number to twists and turns, a lot brain altering substances. I own that, no one forced me to. Beside, George Clinton was still smoking crack aged 80, didn’t do him any harm…
I’m on the 5th paragraph. I don’t feel any smarter yet and each paragraph is getting shorter, having started from a low base. I guess I’m being too high time preference… Might be a while before I launch my Deep Thought podcasts where myself and a guest talk for 500 hours about the philosophy of money and 13 amp plug sockets.
I’ve tortured myself enough. I’m posting this on Nostr where it will never go away.. lol. If you got this far, I congratulate/commiserate you and wish you a wonderful day.
-

@ 599f67f7:21fb3ea9
2025-01-26 11:01:05
## ¿Qué es Blossom?
nostr:nevent1qqspttj39n6ld4plhn4e2mq3utxpju93u4k7w33l3ehxyf0g9lh3f0qpzpmhxue69uhkummnw3ezuamfdejsygzenanl0hmkjnrq8fksvdhpt67xzrdh0h8agltwt5znsmvzr7e74ywgmr72
[Blossom](https://github.com/hzrd149/blossom) significa _Blobs Simply Stored on Media Servers_ (Blobs Simplemente Almacenados en Servidores de Medios). _Blobs_ son fragmentos de datos binarios, como archivos pero sin nombres. En lugar de nombres, se identifican por su hash [sha256](https://es.wikipedia.org/wiki/SHA-2). La ventaja de usar hashes sha256 en lugar de nombres es que los hashes son IDs universales que se pueden calcular a partir del archivo mismo utilizando el algoritmo de hash sha256.
💡 archivo -> sha256 -> hash
Blossom es, por lo tanto, un conjunto de puntos finales HTTP que permiten a los usuarios almacenar y recuperar blobs almacenados en servidores utilizando su identidad nostr.
## ¿Por qué Blossom?
Como mencionamos hace un momento, al usar claves nostr como su identidad, Blossom permite que los datos sean "propiedad" del usuario. Esto simplifica enormemente la cuestión de "qué es spam" para el alojamiento de servidores. Por ejemplo, en nuestro Blossom solo permitimos cargas por miembros de la comunidad verificados que tengan un [NIP-05](https://nips.nostr.com/5) con nosotros.
Los usuarios pueden subir en múltiples servidores de blossom, por ejemplo, uno alojado por su comunidad, uno de pago, otro público y gratuito, para establecer redundancia de sus datos. Los blobs pueden ser [espejados](https://github.com/hzrd149/blossom/blob/master/buds/04.md) entre servidores de blossom, de manera similar a cómo los relays nostr pueden transmitir eventos entre sí. Esto mejora la resistencia a la censura de blossom.
A continuación se muestra una breve tabla de comparación entre torrents, Blossom y servidores CDN centralizados. (Suponiendo que hay muchos seeders para torrents y se utilizan múltiples servidores con Blossom).
| | Torrents | Blossom | CDN Centralizado |
| --------------------------------------------------------------- | -------- | ------- | ---------------- |
| Descentralizado | ✅ | ✅ | ❌ |
| Resistencia a la censura | ✅ | ✅ | ❌ |
| ¿Puedo usarlo para publicar fotos de gatitos en redes sociales? | ❌ | ✅ | ✅ |
## ¿Cómo funciona?
Blossom utiliza varios tipos de eventos nostr para comunicarse con el servidor de medios.
| kind | descripción | BUD |
| ----- | ------------------------------- | ------------------------------------------------------------------ |
| 24242 | Evento de autorización | [BUD01](https://github.com/hzrd149/blossom/blob/master/buds/01.md) |
| 10063 | Lista de Servidores de Usuarios | [BUD03](https://github.com/hzrd149/blossom/blob/master/buds/03.md) |
### kind:24242 - Autorización
Esto es esencialmente lo que ya describimos al usar claves nostr como IDs de usuario. En el evento, el usuario le dice al servidor que quiere subir o eliminar un archivo y lo firma con sus claves nostr. El servidor realiza algunas verificaciones en este evento y luego ejecuta el comando del usuario si todo parece estar bien.
### kind:10063 - Lista de Servidores de Usuarios
Esto es utilizado por el usuario para anunciar a qué servidores de medios está subiendo. De esta manera, cuando el cliente ve esta lista, sabe dónde subir los archivos del usuario. También puede subir en múltiples servidores definidos en la lista para asegurar redundancia. En el lado de recuperación, si por alguna razón uno de los servidores en la lista del usuario está fuera de servicio, o el archivo ya no se puede encontrar allí, el cliente puede usar esta lista para intentar recuperar el archivo de otros servidores en la lista. Dado que los blobs se identifican por sus hashes, el mismo blob tendrá el mismo hash en cualquier servidor de medios. Todo lo que el cliente necesita hacer es cambiar la URL por la de un servidor diferente.
Ahora, además de los conceptos básicos de cómo funciona Blossom, también hay otros tipos de eventos que hacen que Blossom sea aún más interesante.
| kind | descripción |
| ----- | --------------------- |
| 30563 | Blossom Drives |
| 36363 | Listado de Servidores |
| 31963 | Reseña de Servidores |
### kind:30563 - Blossom Drives
Este tipo de evento facilita la organización de blobs en carpetas, como estamos acostumbrados con los drives (piensa en Google Drive, iCloud, Proton Drive, etc.). El evento contiene información sobre la estructura de carpetas y los metadatos del drive.
### kind:36363 y kind:31963 - Listado y Reseña
Estos tipos de eventos permiten a los usuarios descubrir y reseñar servidores de medios a través de nostr. kind:36363 es un listado de servidores que contiene la URL del servidor. kind:31963 es una reseña, donde los usuarios pueden calificar servidores.
## ¿Cómo lo uso?
### Encuentra un servidor
Primero necesitarás elegir un servidor Blossom donde subirás tus archivos. Puedes navegar por los públicos en [blossomservers.com](https://blossomservers.com/). Algunos de ellos son de pago, otros pueden requerir que tus claves nostr estén en una lista blanca.
Luego, puedes ir a la URL de su servidor y probar a subir un archivo pequeño, como una foto. Si estás satisfecho con el servidor (es rápido y aún no te ha fallado), puedes agregarlo a tu Lista de Servidores de Usuarios. Cubriremos brevemente cómo hacer esto en noStrudel y Amethyst (pero solo necesitas hacer esto una vez, una vez que tu lista actualizada esté publicada, los clientes pueden simplemente recuperarla de nostr).
### noStrudel
1. Encuentra Relays en la barra lateral, luego elige Servidores de Medios.
2. Agrega un servidor de medios, o mejor aún, varios.
3. Publica tu lista de servidores. ✅
### Amethyst
1. En la barra lateral, encuentra Servidores multimedia.
2. Bajo Servidores Blossom, agrega tus servidores de medios.
3. Firma y publica. ✅
Ahora, cuando vayas a hacer una publicación y adjuntar una foto, por ejemplo, se subirá en tu servidor blossom.
⚠️ Ten en cuenta que debes suponer que los archivos que subas serán públicos. Aunque puedes proteger un archivo con contraseña, esto no ha sido auditado.
### Blossom Drive
Como mencionamos anteriormente, podemos publicar eventos para organizar nuestros blobs en carpetas. Esto puede ser excelente para compartir archivos con tu equipo, o simplemente para mantener las cosas organizadas.
Para probarlo, ve a [blossom.hzrd149.com](https://blossom.hzrd149.com/) (o nuestra instancia comunitaria en [blossom.bitcointxoko.com](https://blossom.bitcointxoko.com)) e inicia sesión con tu método preferido.
Puedes crear una nueva unidad y agregar blobs desde allí.
### Bouquet
Si usas múltiples servidores para darte redundancia, Bouquet es una buena manera de obtener una visión general de todos tus archivos. Úsalo para subir y navegar por tus medios en diferentes servidores y sincronizar blobs entre ellos.
### Cherry Tree
nostr:nevent1qvzqqqqqqypzqfngzhsvjggdlgeycm96x4emzjlwf8dyyzdfg4hefp89zpkdgz99qyghwumn8ghj7mn0wd68ytnhd9hx2tcpzfmhxue69uhkummnw3e82efwvdhk6tcqyp3065hj9zellakecetfflkgudm5n6xcc9dnetfeacnq90y3yxa5z5gk2q6
Cherry Tree te permite dividir un archivo en fragmentos y luego subirlos en múltiples servidores blossom, y más tarde reensamblarlos en otro lugar.
## Conclusión
Blossom aún está en desarrollo, pero ya hay muchas cosas interesantes que puedes hacer con él para hacerte a ti y a tu comunidad más soberanos. ¡Pruébalo!
Si deseas mantenerte al día sobre el desarrollo de Blossom, sigue a nostr:nprofile1qyghwumn8ghj7mn0wd68ytnhd9hx2tcpzfmhxue69uhkummnw3e82efwvdhk6tcqyqnxs90qeyssm73jf3kt5dtnk997ujw6ggy6j3t0jjzw2yrv6sy22ysu5ka y dale un gran zap por su excelente trabajo.
## Referencias
- [hzrd149/blossom en GitHub](https://github.com/hzrd149/blossom)
- [Blossom Drive](https://github.com/hzrd149/blossom-drive/blob/master/docs/drive.md)
-

@ dbb19ae0:c3f22d5a
2025-01-26 08:43:57
**First** make sure to add this relay wss://relay.momostr.pink in your Nostr [setting](https://primal.net/settings/network)
and **second** follow this [account ](https://nosta.me/npub1pqr3g2gk3vsnrqk9kwfqqcxc6d5cwjr0hyc0nlzz9py5nf92vd9sn02sck)
Soon after an account will be created on bluesky and will mirror your Nostr profile
the address will be like this:
bsky.app/profile/npub1mwce4c8qa2zn9zw9f372syrc9dsnqmyy3jkcmpqkzaze0slj94dqu6nmwy.momostr.pink.ap.brid.gy
And from there keep spreading the good word
originally posted at https://stacker.news/items/825913
-

@ 0ce97fba:4f9081a3
2025-01-26 01:48:00
He walked the decaying streets; his curious expression masked a lifetime of hardship. The city of Bethada spread before him, a tangled maze of buildings and passages clinging to the surface of Mool. This settlement-turned-city once thrived as humanity expanded throughout the galaxy but was now an almost forgotten backwater outpost. A thin crescent of reflected sunlight hugged the horizon as the sun dipped behind the gas giant, casting the lunar city in a soft glow.
“Hey, Mr. Fannec!” A voice from across the street hailed him. The human scowled; he hated being called “Mr. Fannec.” He waved an arm in acknowledgment but didn’t break stride, eager to leave the concrete and steel jungle behind for the day.
Robert Fannec grew up in a crowded housing unit on Mool, raised by his grandmother, while his mother went to work long hours to scrape by. From a young age, he learned that life was difficult and one should take respite where possible. He lived on the outskirts of Bethada City, barely getting by, as he grew up in poverty. His mother worked to exhaustion but failed to improve their living conditions.
“Ya know, Bobby-boy,” said Pete, the local unkempt homeless man whom Robert was friendly with, “This world is reminiscent of a less-than-ideal sandwich, the bread stale and the cheese nothing to write home about. One is left pondering if their hunger is clouding their judgment or if there isn’t much to be thrilled about.”
Robert met the man when he first arrived in Bethada as a young teen; although Robert would not consider them close friends, a particular understanding drove him to keep checking up on the older man. Indeed, life was a struggle for Pete, an elderly citizen, amidst the chaos of the metropolis. Plus, they’d talk about random topics such as music or history during their visits, which made those times personal rather than plain help alone from Robert.
“Couldn’t have said it better myself,” he replied, half-smirking. “One day, we’ll get some fresh ingredients around here.”
“Ha! I’ll believe it when I see it.” Pete laughed, shaking his head.
“Me too, Pete. Me too.” The heaviness of the town’s stagnant air pressed on his back as he nodded and walked down the street.
Robert’s face contorted as he inspected the town. It resembled a knockoff designer watch; instead of shoddy craftsmanship and cheap parts, it had abandoned storefronts and peeling paint. He let out a hearty chuckle at the comparison. As he wandered through the decrepit streets, he wondered what treasures lay beyond these crumbling walls.
“Damn shame,” Robert said, taking in the breathtaking landscape before him. “Nature got the memo about beauty, but Bethada sure didn’t.”
“Hey, Rob.” One of his coworkers waved as they clocked into their shift at the local industrial farm. “You daydreaming again?”
Responding with a grin, Robert shoved his hands into the pockets of his worn coveralls. “Hey, Dave. The way this place looks, it’s a wonder we haven’t all packed up and moved to a better neighborhood.”
“Tell me about it.” Dave chuckled, pulling on his protective gloves. “But then, who’d keep these machines running? They’re almost family, after all.”
“Only if your family is a ragtag group of misfits held together by sheer willpower.” Robert’s eyes crinkled in amusement.
“You got me there.”
The atmosphere was filled with the howl of steam, engines, and other loud machinery as their shifts began; the high-pitched note of pressure released into a valve opening providing a familiar backdrop to their daily lives.
The other workers chattered about their outside lives, which was a welcome distraction from the monotony of work. Family adventures, weekend getaways, and hobbies or creative outlets were among the stories shared to describe how they spent their spare time. Robert kept his distance as snippets of their conversations reached him.
For Robert, the idea of discussing personal matters with his peers was uncomfortable. He struggled to bridge the gap between himself and his co-workers, unable to relate to their shared interests in such pastimes. They were experiences he could never relate to, as he had grown up too fast due to his family’s financial struggles. As a result, he put more effort into getting along with the machines than with his fellow humans. He considered the equipment to be more dependable than any human friend, even if some machines were beyond repair or had been handled in a careless manner. But for him, the genuine excitement started when the work whistle blew, signaling the end of another grueling day.
“About time!” He wiped the sweat off his face. He often daydreamed about heading to the range to take out some frustration.
“Man, you love that shooting range, don’t you?” Dave’s voice had a hint of envy.
“Sure do,” Robert said, shrugging off his coveralls. “It’s the one place where I feel like I’m actually in control and not another cog in this rusted-out machine of a city. I don’t have to worry about life, exes, debt, nothin’.”
“I’m hopeful that one day you’ll be able to leave this place behind. Start off somewhere new.” Dave said, slapping Robert on the back.
“Here’s hoping.” His eyes were locked on the horizon as if he could see himself leaving this hellhole. He was off to the local shooting range, where he could pretend everything still had order.
After almost being run over by a white hover van while crossing the street, Robert arrived at his sanctuary’s shooting range. The aroma of gunpowder, battery acid, and cut grass mingled as he reached his usual spot. Robert found it delightful compared to Bethada City’s typical mildew and burnt leather odor.
“Alright, let’s dance,” he said, loading his trusty rifle with practiced ease. His rifle was a simple affair that allowed Robert to vent his frustrations on targets. He was a decent shot; at least, that is what he thought of himself.
Squeezing the trigger, firing off round after round. The targets quivered under the onslaught—a symphony of destruction played by the percussion section of his life’s dull and sad orchestra.
When he was still a teen, he found abandoned buildings around Bethada. He’d take his rifle and practice shooting at bottles, furniture pieces, walls, and whatever appeared. His mother and grandmother were furious when they found out, but that didn’t stop him from terrorizing bottles and paper targets.
“Take that, you cylindrical bastards,” he said, landing a satisfying shot on the smallest target. He was absorbed in his practice, not thinking about his lackluster life.
His rifle was a standard design of a powered weapon. The long barrel gun accelerated hunks of metal via a magnetic rail system, unlike other, more exotic armaments that used energy to produce high-speed plasma rounds. The sound of a round from this rifle would startle any man.
“Still the targets, if I had to guess,” came a raspy voice behind him. Turning around, Robert saw Pete. His beard was a patchwork quilt of gray and white strands, and his clothes had more holes than fabric.
Pete lived near the range because he realized the people who would frequent such an establishment would be well-armed and well-disciplined, making it a safe spot compared to other less savory locations.
“Ah, Pete, my favorite critic,” Robert joked, setting down his weapon. “What brings you here today?”
“Same thing that always does,” Pete said, scratching his chin. “The sweet sound of gunfire, the scent of ambition, and a hankering for some ol’ fashioned conversation.”
“Still working on that novel?” Robert knew that Pete had been “working” on it for years.
“Indeed, young Robert. Though I fear my magnum opus may never appear in daylight, trapped as it is in the literary purgatory between my brain and the page.”
“Hey, at least it’s got company in there, right?” Robert laughed at his joke. “You’ve got a ton of unwritten works in there, right?”
“True enough,” Pete said, a sparkle in his eyes and tales left untold. “Speaking of company, how’s your aim today? Plan on shootin’ repo-men?”
“Pretty good, if I do say so myself. The grouping on the smallest target isn’t the best I’ve done, but overall, I hit what I’m aiming at.” Ignoring the quip about Robert shooting repo men. Embarrassed that he could not manage money as well as other people. He still wasn’t able to constrain his urges to buy things he couldn’t afford.
“Ah, a prodigy in our midst!” Pete performed a mock bow.
Robert didn’t always know how to handle Pete. So the younger man looked at him with an odd expression.
“You remind me of my son.” A sad smile flickered across Pete’s weathered face. “He was an odd duck, too, always tinkering with machines and dreaming big. He went off to work in the mines when he was a boy. Never saw him again after the collapse.” Pete shrugged, fidgeting with a broken timepiece in his hands.
“Sorry to hear that. How old would he be?”
“About your age, I guess.”
“I bet I would have liked him.”
“I would like to think so, too. You’re both good kids.”
After a brief conversation about Pete being unable to find one of his friends, they exchanged farewells. Robert packed his rifle into his worn bag and exited the street, where he focused on his thoughts and started making his way home.
The sun and planet started to set, and their fading orange light gave the sky a beautiful hue. Robert took in the scenery as he strolled, not paying attention to one of the sleek white hover vans that had become so popular in the past months. It zipped away through the air as he watched before returning to his thoughts on what he would have for dinner.
The building he lived in stood like a weary sentinel at the town’s boundary, a hodgepodge of mismatched bricks and creaking metal that had long ago lost any semblance of architectural grace. Despite its weather-beaten exterior, the residents maintained a veneer of pride, as evidenced by the door with a fresh coat of paint.
Upon entering his small apartment, Robert was greeted by the neutral aroma of cleanliness, not too sterile but not fragrant enough to be noticeable. The scent was as unremarkable as beige. A fragrance that announced, “I am clean and functional, but please don’t expect any frills.”
He lived alone, which was considered a luxury tantamount to owning a solid gold toilet brush. He cherished living alone, deeming it a worthwhile trade-off to sacrifice financial stability for solitude.
His independence was threatened when he received an eviction notification last week. It had been weeks since his rent had been due, and the creditors were no longer in the mood to accept any more late payments. Unless Robert could find a way to earn the money necessary for back-rent and tenancy fees, he would have to pack his belongings and leave his beloved apartment for good.
Robert switched on his computer to search for night jobs but was soon distracted by a video that had popped up. The government shared an informative clip, motivating citizens to be proactive and responsible financially.
Robert recognized a humanoid alien named Damian Krestov, with pale yellow skin and a texture Robert couldn’t place; he didn’t know where the man was from. He almost spoke to Robert as if aware of his situation. Damian spoke about taking responsibility and believing and trusting in yourself when times are demanding because one must never give up hope.
As he spoke, Damian gestured enthusiastically to express himself and emphasize his points. This man believed every word that came from his mouth. After watching out of curiosity, Robert realized that it was all a propaganda video in disguise; he didn’t pay enough attention to understand the actual goal of the ad, but he knew it wasn’t ‘just an ad.’
His green eyes fell on a colored flyer that someone had slipped under his door while he was stretching out his legs. It bore the headline: “Prestigious Shooting Competition on Zorath!” Beneath the flashy text, an illustration portrayed a muscular figure raising a gun in triumph while standing on top of a mountain of defeated foes.
Robert scoffed; he was skeptical of such an over-the-top advertisement, and one delivered on paper door-to-door. Still, a twinge of excitement hit him as he read the details: a grand prize of one million credits and a chance to become a professional shooter, whatever that means. Despite his initial skepticism about the ridiculous flyer, his heart raced at the thought of escaping his less-than-ideal life on Mool, proving his skills, and making enough money to not worry about those debt collectors.
Questions swirled in Robert’s mind, but none could snuff out the flame of hope that had ignited within him. As he crumpled the flyer in his hand, he imagined the look on Pete’s face if he were to win the competition and return to Mool with a million credits and a newfound sense of freedom.
“Who designed this? A five-year-old with a crayon?” Robert scoffed. Yet, despite the ridiculous presentation, he couldn’t ignore the Sub-Lunar Protective Service logo, a shield with ‘SLPS’ stamped in the bottom right corner.
“What is a government agency running a shoot for?” It wasn’t news to Robert that the agency would run events, but it still perplexed him why.
“Alright, Fannec,” he said, attempting to rationalize the situation. “Let’s say this is legit. You’ve spent your whole life shooting targets at the range. You can leave this shit moon and pay off some debts.”
As he weighed the pros and cons, his eyes flicked back to the grand prize: one million credits. With that money, his life could undergo a complete metamorphosis, rescuing him from this decrepit city and launching him into an existence he had only imagined. But was it worth the risk of taking time off work? He was already behind by several weeks’ rent and couldn’t afford time off.
“It’s a risky gamble.” He thought. “But it might be my ticket out of this mess.” He rubbed his temples. “Why couldn’t they have made a normal ad instead of this cartoonish mess? Is this some cruel joke?”
Deep down in his subconscious, he was aware he had already decided. His desire to escape was far more potent than any doubts he might have about the competition’s legitimacy or his abilities.
“Okay,” he said, preparing himself for the decision ahead. “Worst-case scenario, I lose the apartment, and I’m the laughingstock of the city for a while. Best case, I walk away with a million credits, which would pay off all of my debt and buy me a new life somewhere else.”
“Alright, let’s see what kind of mess I’m getting myself into.” Pulling up the competition details on his comm device, he scrolled through the information, his eyebrows furrowing with each new bit of it. “It’s scheduled during storm season on Zorath. Do these event planners even know how to read a weather report?”
The thought of traveling to a distant planet during its tumultuous storm season made Robert’s stomach churn. He had never left Mool before, and while he was confident in his shooting skills, everything else about this trip was uncharted territory.
This kind of shoot requires more than marksmanship. To outsmart his rivals, Robert must think fast and use the landscape and surroundings to gain an advantage. Storms would make that difficult, and Robert didn’t practice a lot of situational shooting. Sniper shooting was his strong suit, which he practiced most.
“At least it’ll be a memorable experience.”
Robert couldn’t shake off his hesitation. His worries extended beyond the storms. He would be up against marksmen who possessed more shooting and life experience. He stopped pacing and stared at his reflection in the window. The city lights of Bethada flickered in the glass, casting a melancholy glow over his face. His eyes were tired but resolute.
The competition didn’t worry him; the entry fee wasn’t refundable. The price was going up soon to encourage more people to register early. He had to decide, and quick.
“I guess if these guys are dumb enough to hold a shooting competition during one of the worst storm seasons in the Confederation, then they’re dumb enough to let me win.”
He chuckled, imagining the event planners huddled over a meteorological terminal, unaware of the impending storm clouds. The United Confederation’s government should have caught such an obvious detail. Perhaps they thought the turbulent weather would excite or challenge the competition. Which would be something that a management or administrative employee would think of.
“Perhaps the storms will scare off some of the competition,” his mind was scrambling with images of seasoned marksmen fleeing in terror from the torrential rains and howling winds. “Yeah, I bet half of ’em will drop out before they even fired the first shot.”
His chest swelled with newfound confidence. Sure, he had never left Mool before, but that didn’t mean he couldn’t hold his own on a strange, stormy planet. After all, he spent countless hours honing his skills at the local shooting range. And he always dreamed of fleeing the drudgery of his dull life in this rundown city on a forgotten moon.
“Alright, enough daydreaming,” he chided himself, shaking off his momentary lapse into fantasy. “Let’s make this official.”
Robert picked up his comm device and navigated to the registration page for the competition. He paused for a moment. The magnitude of the decision he was about to make was massive. He would have to prepare for missing out on some income. Once he registered, there would be no backing out, no second-guessing. The entry fee was substantial, but it would have to be bought on credit, like everything Robert paid for.
With a final deep breath and a surge of determination, Robert tapped the ‘Register’ button on his comm device. A cheerful confirmation message popped up on the screen: “Congratulations! You are now officially registered for the Zorath Shooting Competition!” It was followed by information about equipment checks, times, and locations.
“Well, this will be fun.”
-

@ ec42c765:328c0600
2025-01-26 00:08:54
# カスタム絵文字とは
任意のオリジナル画像を絵文字のように文中に挿入できる機能です。
また、リアクション(Twitterの いいね のような機能)にもカスタム絵文字を使えます。

# カスタム絵文字の対応状況(2024/02/05)

カスタム絵文字を使うためにはカスタム絵文字に対応した[クライアント](https://welcome.nostr-jp.org/tutorial/explore-client.html)を使う必要があります。
※表は一例です。クライアントは他にもたくさんあります。
使っているクライアントが対応していない場合は、クライアントを変更する、対応するまで待つ、開発者に要望を送る(または自分で実装する)などしましょう。
#### 対応クライアント
- [Amethyst](https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst)
- [FreeFrom](https://freefrom.space/)
- [nostter](https://nostter.app/)
- [Rabbit](https://rabbit.syusui.net/)
- [Snort](https://snort.social/)
- [noStrudel](https://nostrudel.ninja/)
ここではnostterを使って説明していきます。
# 準備
カスタム絵文字を使うための準備です。
- Nostrエクステンション(NIP-07)を導入する
- 使いたいカスタム絵文字をリストに登録する
## Nostrエクステンション(NIP-07)を導入する
Nostrエクステンションは使いたいカスタム絵文字を登録する時に必要になります。
また、環境(パソコン、iPhone、androidなど)によって導入方法が違います。
Nostrエクステンションを導入する端末は、実際にNostrを閲覧する端末と違っても構いません(リスト登録はPC、Nostr閲覧はiPhoneなど)。
Nostrエクステンション(NIP-07)の導入方法は以下のページを参照してください。
[ログイン拡張機能 (NIP-07)を使ってみよう | Welcome to Nostr! ~ Nostrをはじめよう! ~ ](https://welcome.nostr-jp.org/tutorial/nip-07.html)
少し面倒ですが、これを導入しておくとNostr上の様々な場面で役立つのでより快適になります。
## 使いたいカスタム絵文字をリストに登録する
以下のサイトで行います。
[emojito](https://emojito.meme/)
右上の**Get started**からNostrエクステンションでログインしてください。
例として以下のカスタム絵文字を導入してみます。
実際より絵文字が少なく表示されることがありますが、古い状態のデータを取得してしまっているためです。その場合はブラウザの更新ボタンを押してください。
[generalJP | カスタム絵文字](nostr:naddr1qqykwetwv4exzmz22qqs6amnwvaz7tmwdaejumr0dspzpmzzcaj5rzeah8y940ln4z855wa72af4a6aac4zjypql55egcpsqqvzqqqr4fcp4fwv8)

- 右側の**Options**から**Bookmark**を選択

これでカスタム絵文字を使用するためのリストに登録できます。
# カスタム絵文字を使用する
例としてブラウザから使えるクライアント nostter から使用してみます。
[nostter](https://nostter.app/)
nostterにNostrエクステンションでログイン、もしくは秘密鍵を入れてログインしてください。
## 文章中に使用
1. **投稿**ボタンを押して投稿ウィンドウを表示
2. **顔😀**のボタンを押し、絵文字ウィンドウを表示
3. ***タブ**を押し、カスタム絵文字一覧を表示
4. カスタム絵文字を選択
5. : 記号に挟まれたアルファベットのショートコードとして挿入される

この状態で投稿するとカスタム絵文字として表示されます。
カスタム絵文字対応クライアントを使っている他ユーザーにもカスタム絵文字として表示されます。
対応していないクライアントの場合、ショートコードのまま表示されます。

ショートコードを直接入力することでカスタム絵文字の候補が表示されるのでそこから選択することもできます。

## リアクションに使用
1. 任意の投稿の**顔😀**のボタンを押し、絵文字ウィンドウを表示
2. ***タブ**を押し、カスタム絵文字一覧を表示
3. カスタム絵文字を選択

カスタム絵文字リアクションを送ることができます。

# カスタム絵文字を探す
先述した[emojito](https://emojito.meme/)からカスタム絵文字を探せます。
例えば任意のユーザーのページ [emojito ロクヨウ](nostr:npub1a3pvwe2p3v7mnjz6hle63r628wl9w567aw7u23fzqs062v5vqcqqu3sgh3) から探したり、 [emojito Browse all](https://emojito.meme/browse) からnostr全体で最近作成、更新された絵文字を見たりできます。
また、以下のリンクは日本語圏ユーザーが作ったカスタム絵文字を集めたリストです(2024/06/30)
※漏れがあるかもしれません
[日本ユーザー作 カスタム絵文字](nostr:npub17hczqvxtfv3w69wr6lxrttnpdekwdwel55mld60fr24zwjuu6utqtj8mjx)
各絵文字セットにある**Open in emojito**のリンクからemojitoに飛び、使用リストに追加できます。
-----------
以上です。
次:Nostrのカスタム絵文字の**作り方**
Yakihonneリンク [Nostrのカスタム絵文字の作り方](https://yakihonne.com/article/_@lokuyow.github.io/1707912490439)
Nostrリンク nostr:naddr1qqxnzdesxuunzv358ycrgveeqgswcsk8v4qck0deepdtluag3a9rh0jh2d0wh0w9g53qg8a9x2xqvqqrqsqqqa28r5psx3
-----------
# 仕様
[NIP-30 Custom Emoji](https://github.com/nostr-protocol/nips/blob/master/30.md)
[NIP-30 カスタム絵文字(和訳)](https://github.com/nostr-jp/nips-ja/blob/main/30.md)
-

@ d3052ca3:d84a170e
2025-01-25 23:17:10
It seems to me that the primary opposition to ecash from bitcoiners comes from the belief that lightning will enable self-custodial micropayments for the masses. Many lightning enthusiasts see ecash as competition that will eliminate this technological outcome (whether they admit it or not).
I understand the motivation for this line of reasoning but I don't see things this way at all. Ecash is a superset of lightning. Cashu literally doesn't have a spec for on-chain transactions (yet!). Everything cashu accomplishes is built on the back of lightning. Standing on the shoulders of giants.
I don't believe that ecash will take away market share from self-custodial lightning because lightning is not a good technology for self-custody. The high overhead costs of running your own node create a natural incentive for a semi-centralized hub and spoke network graph. It just makes economic sense for many users to share a lightning node. It doesn't make economic sense for individuals to bear this cost alone.
This stacker news post is the best writeup on this topic: https://stacker.news/items/379225
It comes from a builder who struggled with these issues for years and learned the shortcomings of the tech first hand. Notice they experimented with ecash as a solution to these problems before they burned out and pivoted to save the company.
Ecash is a superset of lightning. It extends the capability and reach of the lightning network. Without ecash, I don't believe we can achieve bitcoin mass adoption. You can't jam a square peg into a round hole.
We still have a need for self-custody of "small" amounts of bitcoin. I put small in quotes because the block size limit and the fee market it creates impose a fundamental constraint on the minimum practical size of a UTXO. This limit is pegged to the unit of bitcoin. As bitcoin increases in value the minimum size for an on-chain transaction will grow in value as well. You can send $10 worth of bitcoin on-chain today but will this be true in 10 years when the price is much higher? 100 years?
If the current exponential trends hold, we will soon price out the majority of humanity from owning a UTXO. This is bad. Like really bad. "Bitcoin is a failure" bad. This is the motivation for my posts about scaling on-chain usage to 10 billion people. I believe we will need to radically rearchitect bitcoin to achieve this goal.
Lightning is not up to the task. We should leverage lightning for what it's good at: gluing together different self-custodial bitcoin service providers. We should leverage ecash for what it's good at: peer-to-peer electronic cash micropayments. IN ADDITION we also need to start seriously looking at new ideas for scaling self custody to "small" amounts of bitcoin. I am very optimistic that we can solve this problem. There are a number of promising avenues to pursue but I think first we need to move the Overton window ~~beyond the idea of mass adoption of self-custodial lightning~~ regarding on-chain scaling.
Edit: I think the original Overton window statement was incorrect. If on-chain fees stay low then self-custodial lightning or something similar is a much better prospect.
Just my 2 sats...let me know what you think. Keep it civil or be muted.
-

@ 1cb14ab3:95d52462
2025-01-25 23:13:34
***Tree branches. 4' x 4 [Castle Pines, USA. 2016]***
#### Introduction
Sanctuary offers a layered view of resilience, juxtaposing the green expanses of the Sanctuary Golf Course with the majesty of Pikes Peak and the scars of past destruction. Framed by the lens, this work explores the tension between human intervention and nature’s cycles of renewal.
#### Site & Placement
Perched at Daniels Park in Castle Pines, the lens focuses on the rolling terrain of the golf course, leading the eye to the distant peak. The surrounding brush, which once burned in a major fire, adds depth to the narrative of renewal. A bench, positioned for an unobstructed view, invites visitors to sit and reflect on the land’s capacity to heal and endure.
#### Impermanence & Integration
As an ephemeral installation, Sanctuary embodies nature’s cycles of destruction and rebirth. The materials—branches and rock—will eventually decay and return to the earth, a process that mirrors the recovery of the landscape itself after fire. This impermanence underscores the delicate balance between human influence and natural forces.
#### Reflection
Sanctuary serves as a reminder of both the fragility and resilience of the world around us. It invites viewers to pause and consider the interplay of destruction and growth, human and natural, as they gaze upon a scene shaped by both time and transformation
---
## Photos






---
#### More from the 'Earth Lens' Series:
[Earth Lens Series: Artist Statement + List of Works](https://hes.npub.pro/post/1731091744332/)
["Looking Glass" (Earth Lens 001)](https://hes.npub.pro/post/1736304563962/)
["Folsom" (Earth Lens 002)](https://hes.npub.pro/post/1737844073125/)
[COMING SOON: "Platte" (Earth Lens 004)](https://hes.npub.pro/post/1731091744332/)
[COMING SOON: "Grandfather" (Earth Lens 005)](https://hes.npub.pro/post/1731091744332/)
[COMING SOON: "Chongming" (Earth Lens 006)](https://hes.npub.pro/post/1731091744332/)
---
#### More from Hes
[Portfolio](https://hesart.npub.pro)
[Online Store](https://plebeian.market/community/1cb14ab335876fc9efc37d838ba287cf17e5adcccb20bf6d49f9da9695d52462:hesmart-ym3fcufdfz)
[Artist Statements](https://hes.npub.pro/tag/art/)
[Travel Guides](https://hes.npub.pro/tag/travel/)
[Photography](https://hes.npub.pro/tag/photography)
[Writings](https://hes.npub.pro/tag/money)
---
*All images are credit of Hes, but you are free to download and use for any purpose. If you find joy from my art, please feel free to send a zap. Enjoy life on a Bitcoin standard.*
-

@ 9e69e420:d12360c2
2025-01-26 01:31:47
## Chef'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
1. Bake
2. Cool
-

@ 9e69e420:d12360c2
2025-01-25 22:16:54
President 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.
[Sauce](https://www.stripes.com/theaters/europe/2025-01-24/trump-europe-troop-cuts-16590074.html)
-

@ 9e69e420:d12360c2
2025-01-25 14:32:21
| Parameters | Dry Mead | Medium Mead | Sweet Mead |
|------------|-----------|-------------|------------|
| Honey | 2 lbs (900 grams) | 3 lbs (1.36 kg) | 4 lbs (1.81 kg) |
| Yeast | ~0.07 oz (2 grams) | ~0.08 oz (2.5 grams) | ~0.10 oz (3 grams) |
| Fermentation | ~4 weeks | 4 to 6 weeks | 6 to 8 weeks |
| Racking | Fortnight or later | 1 month or after | ~2 months and after |
| Specific Gravity | <1.010 | ~1.01 to ~1.025 | >1.025 |
-

@ 9e69e420:d12360c2
2025-01-23 15:09:56
President Trump has ordered thousands of additional troops to the U.S.-Mexico border as part of an effort to address immigration and security issues. This directive builds on his initial commitment to increase military presence along the border.
Currently, around 2,200 active-duty personnel and approximately 4,500 National Guardsmen are stationed there. The new deployment aims to enhance the capabilities of Joint Task Force-North, allowing troops to assist in operations and provide intelligence support.
Details on specific units remain unclear. The situation is still developing, with updates expected.
[Sauce](https://thepostmillennial.com/breaking-president-trump-orders-thousands-of-troops-to-the-us-border-with-mexico)
-

@ 6be5cc06:5259daf0
2025-01-21 20:58:37
A 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`** + **`/`** depois **`Ctrl`** + **`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`** e **`Enter`**) 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:
1. Abra o Firefox.
2. Acesse **Configurações** → **Configurar conexão**.
3. Selecione **Configuração manual de proxy**.
4. 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`
5. Marque a opção **"Usar este proxy também em HTTPS"**.
6. 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**.
-

@ 16d11430:61640947
2025-01-21 20:40:22
In 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.
---
1. 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.
---
2. 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.
---
3. 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.
---
4. 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.
---
5. 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.
---
6. 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.
---
7. 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.
---
8. 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.
-

@ 9e69e420:d12360c2
2025-01-21 19:31:48
Oregano 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.
-

@ b17fccdf:b7211155
2025-01-21 18:30:13
~ > Available at: [https://minibolt.info](https://minibolt.info)
---
~> It builds on a personal computer with **x86/amd64** architecture processors.
~> It is based on the popular [RaspiBolt v3](https://raspibolt.org) guide.
---
**Those are some of the most relevant changes:**
* Changed OS from Raspberry Pi OS Lite (64-bits) to ***Ubuntu Server LTS*** (Long term support) 64-bit PC (AMD64).
* Changed binaries and signatures of the programs to adapt them to ***x86/amd64 architecture***.
* Deleted unnecessary tools and steps, and added others according to this case of use.
* Some useful authentication logs and monitoring commands were added in the security section.
* Added some interesting parameters in the settings of some services to activate and take advantage of new features.
* Changed I2P, Fulcrum, and ThunderHub guides, to be part of the core guide.
* Added exclusive optimization section of services for slow devices.
---
~ > Complete release notes of the MiniBolt v1: [https://github.com/twofaktor/minibolt/releases/tag/1.0](https://github.com/twofaktor/minibolt/releases/tag/1.0).
~ > Feel free to contribute to the [source code on GitHub](https://github.com/minibolt-guide/minibolt) by opening [issues](https://github.com/minibolt-guide/minibolt/issues), [pull requests](https://github.com/minibolt-guide/minibolt/pulls) or [discussions](https://github.com/orgs/minibolt-guide/discussions).
---
Created by [⚡2 FakTor⚡](nostr:npub1k9luehc8hg3c0upckdzzvusv66x3zt0eyw7290kclrpsndepz92sfcpp63)
-

@ b17fccdf:b7211155
2025-01-21 18:22:51
😱 Did you recently find this signature verification error when you tried to update your MiniBolt repositories with -> `sudo apt update`? 💥🚨👇

🔧 Don't worry, that's because Tor renewed its signing key since it expired last 07/15, just renew your keyring by following the next steps to solve this problem:
~ > [CLICK HERE](https://minibolt.minibolt.info/system/system/privacy#tor-signature-verification-error) < ~
---
Enjoy it MiniBolter!💙
-

@ b17fccdf:b7211155
2025-01-21 18:10:10
**Link to the bonus guide** ~ > [HERE](https://minibolt.minibolt.info/bonus-guides/bitcoin/minibolt-on-testnet) <~
---
Some notes:
ℹ️ For the moment, this guide will touch only the case of an **only testnet mode** situation, in the future, we will study adding the case of configuration to enable the parallel/simultaneous mode (mainnet+testnet in the same device) in an extra section in this guide.
ℹ️ The services mentioned in this guide are those that have been tested using testnet configuration and these worked fine. Later, in the next versions of this guide, we will go to adding other processes to adapt other services to the testnet mode.
---
Enjoy it MiniBolter! 💙
-

@ b17fccdf:b7211155
2025-01-21 18:04:28
Available at: [https://minibolt.info](https://minibolt.info)
---
**Main changes to** the version 1:
* The complete guide has been migrated to the new design visual builder web tool platform [gitbook.com](https://www.gitbook.com/)
* New modern UI (responsive, full width, and better visual items)
* New menu structure for a better user experience
* New visual items to improve the navigation through the web page
* New switch to enable light/dark theme
* Enabled Cloudflare Proxy for maximum protection against attacks and better management of the domain
---
**Other changes:**
* New [MiniBolt Linktr](https://linktr.minibolt.info/) forked of the alternative [FOSS project](https://github.com/gzuuus/linktr) proposed by [Gzuuus](https://twitter.com/gzuuus)
* Changed MiniBolt from a personal project to an [organization](https://github.com/minibolt-guide) so that the project has its own identity
* New email contact address [hello@minibolt.info](mailto:hello@minibolt.info) to receive proposals and give support
* New [resources](https://github.com/minibolt-guide/minibolt/tree/main/resources) folder with the current MiniBolt roadmap, network map diagrams, and others
---
ℹ️ **More info:**
* The new version is available with the known domain: [minibolt.info](https://minibolt.info/) but from now on links associated with the new v2 version were shared using the [v2.minibolt.info](https://v2.minibolt.info/) subdomain due to a GitBook limitation
* The old and deprecated v1 will be still available at a time in the subdomain [v1.minibolt.info](https://v1.minibolt.info/), but is in the roadmap delete it definitely in the future, take note ASAP of all that you need of that version before this happens
* Contributors and collaborators will be able to continue doing PR through code programming or using the design block builder [gitbook.com](https://www.gitbook.com/)
---
[GitHub release](https://github.com/minibolt-guide/minibolt/releases/tag/2.0)
---
Enjoy it MiniBolter! 💙
-

@ b17fccdf:b7211155
2025-01-21 17:58:35
The **router reserves the IP address** of the device **for a time after going out**, but if the device goes out some time, the next time that the device starts, the router could assign a different IP and you could lose access to your node. To avoid this, you need to **set a static IP to your MiniBolt**.
~ > In addition, you can **customize your DNS servers to improve your privacy**, normally your ISP, gives you the router with its own DNS servers set by default, and this does that you expose all of your navigation trackings to your ISP, affecting seriously your privacy.
~ > This bonus guide includes all of the necessary steps to get this and is available ~ > [HERE](https://minibolt.minibolt.info/bonus-guides/system/static-ip-and-custom-dns-servers) < ~
---

---
Enjoy it MiniBolter! 💙
-

@ b17fccdf:b7211155
2025-01-21 17:47:28
Link to the bonus guide ~ > [HERE](https://minibolt.minibolt.info/bonus-guides/system/ssh-keys) < ~
---
Some sections of the guide:
* Generate SSH keys
* Import SSH pubkey
* Connect to the MiniBolt node using SSH keys
* Disable password login
* Disable admin password request
---
Some shortcuts to the Extra sections:
* Disable password login: click ~ > [HERE](https://minibolt.minibolt.info/bonus-guides/system/ssh-keys#disable-password-login) < ~
* Disable admin password request: click ~ > [HERE](https://minibolt.minibolt.info/bonus-guides/system/ssh-keys#disable-admin-password-request-caution) < ~
---
Enjoy it MiniBolter! 💙
-

@ b17fccdf:b7211155
2025-01-21 17:39:34
**Link to the bonus guide** ~ > [HERE](https://minibolt.minibolt.info/bonus-guides/bitcoin/ordisrespector) < ~
---
⏰ Recently added an update that includes a new section **[How to detect Ordinals transactions](https://minibolt.minibolt.info/bonus-guides/bitcoin/ordisrespector#how-to-detect-ordinals-transactions) and [verify Ordisrespector filter works](https://minibolt.minibolt.info/bonus-guides/bitcoin/ordisrespector#check-the-ordisrespector-filter-working-on-your-mempool)** to verify that Ordispector is **filtering and burning Ordinals** correctly 🔥
---
Fuck Ordinals🤡🔫 and enjoy it MiniBolter! 💙
-

@ b17fccdf:b7211155
2025-01-21 17:29:54
Some sections inside of the guide:
* Set up Dynamic DNS
* Wireguard VPN server & client side configurations
* Install & configure the WireGuard VPN Client on a mobile phone
* Configure additional servers & clients
* Use your router’s DDNS preconfigured provider
* Port forwarding on NAT/PAT router
---
Link to the bonus guide [HERE](https://minibolt.minibolt.info/bonus-guides/system/wireguard-vpn)
---
Enjoy it MiniBolter! 💙
-

@ b17fccdf:b7211155
2025-01-21 17:19:12
Do you want to use a different disk to store data (blockchain and other databases) independently of the disk of the system?
A step-by-step guide using a secondary disk to store the data (blockchain and other databases) independently of the disk of the system and using the Ubuntu Server guided installation.
---
### **What's changed**
* Rebuilt the [Ubuntu Server installation guide](https://minibolt.minibolt.info/system/system/operating-system#ubuntu-server-installation) based on this bonus guide added.
* Added GIFs to improve the illustration of the steps to follow.
* [Case 1](https://minibolt.minibolt.info/bonus-guides/system/static-ip-and-custom-dns-servers#option-1-at-the-beginning-during-the-ubuntu-server-installation-gui): during the Ubuntu server guided installation.
* [Case 2](https://minibolt.minibolt.info/bonus-guides/system/static-ip-and-custom-dns-servers#option-2-after-ubuntu-server-installation-by-command-line): build it after system installation (by command line).
---
~ > Link to the bonus guide [HERE](https://minibolt.minibolt.info/bonus-guides/system/store-data-secondary-disk)
---
Enjoy it MiniBolter! 💙