-
@ 87e98bb6:8d6616f4
2025-05-23 15:36:32Use this guide if you want to keep your NixOS on the stable branch, but enable unstable application packages. It took me a while to figure out how to do this, so I wanted to share because it ended up being far easier than most of the vague explanations online made it seem.
I put a sample configuration.nix file at the very bottom to help it make more sense for new users. Remember to keep a backup of your config file, just in case!
If there are any errors please let me know. I am currently running NixOS 24.11.
Steps listed in this guide: 1. Add the unstable channel to NixOS as a secondary channel. 2. Edit the configuration.nix to enable unstable applications. 3. Add "unstable." in front of the application names in the config file (example: unstable.program). This enables the install of unstable versions during the build. 4. Rebuild.
Step 1:
- Open the console. (If you want to see which channels you currently have, type: sudo nix-channel --list)
- Add the unstable channel, type: sudo nix-channel --add https://channels.nixos.org/nixpkgs-unstable unstable
- To update the channels (bring in the possible apps), type: sudo nix-channel --update
More info here: https://nixos.wiki/wiki/Nix_channels
Step 2:
Edit your configuration.nix and add the following around your current config:
``` { config, pkgs, lib, ... }:
let unstable = import
{ config = { allowUnfree = true; }; }; in { #insert normal configuration text here } #remember to close the bracket!
```
At this point it would be good to save your config and try a rebuild to make sure there are no errors. If you have errors, make sure your brackets are in the right places and/or not missing. This step will make for less troubleshooting later on if something happens to be in the wrong spot!
Step 3:
Add "unstable." to the start of each application you want to use the unstable version. (Example: unstable.brave)
Step 4:
Rebuild your config, type: sudo nixos-rebuild switch
Example configuration.nix file:
```
Config file for NixOS
{ config, pkgs, lib, ... }:
Enable unstable apps from Nix repository.
let unstable = import
{ config = { allowUnfree = true; }; }; in { #Put your normal config entries here in between the tags. Below is what your applications list needs to look like.
environment.systemPackages = with pkgs; [ appimage-run blender unstable.brave #Just add unstable. before the application name to enable the unstable version. chirp discord ];
} # Don't forget to close bracket at the end of the config file!
``` That should be all. Hope it helps.
-
@ 63d59db8:be170f6f
2025-05-23 12:53:00In a world overwhelmed by contradictions—climate change, inequality, political instability, and social disconnection—absurdity becomes an unavoidable lens through which to view the human condition. Inspired by Albert Camus' philosophy, this project explores the tension between life’s inherent meaninglessness and our persistent search for purpose.\ \ The individuals in these images embody a quiet defiance, navigating chaos with a sense of irony and authenticity. Through the act of revolt—against despair, against resignation—they find agency and resilience. These photographs invite reflection, not on solutions, but on our capacity to live meaningfully within absurdity.
Visit Katerina's website here.
Submit your work to the NOICE Visual Expression Awards for a chance to win a few thousand extra sats:
-
@ 7e6f9018:a6bbbce5
2025-05-22 18:17:57Governments and the press often publish data on the population’s knowledge of Catalan. However, this data only represents one stage in the linguistic process and does not accurately reflect the state of the language, since a language only has a future if it is used. Knowledge is a necessary step toward using a language, but it is not the final stage — that stage is actual use.
So what is the state of Catalan usage? If we look at data on regular use, we see that the Catalan language has remained stagnant over the past hundred years, with nearly the same number of regular speakers. In 1930, there were around 2.5 million speakers, and in 2018, there were 2.7 million.
Regular use of Catalan in Catalonia, in millions of speakers. The dotted segments are an estimate of the trend, based on the statements of Joan Coromines and adjusted according to Catalonia’s population growth.
These figures wouldn’t necessarily be negative if the language’s integrity were strong, that is, if its existence weren’t threatened by other languages. But the population of Catalonia has grown from 2.7 million in 1930 to 7.5 million in 2018. This means that today, regular Catalan speakers make up only 36% of Catalonia’s population, whereas in 1930, they represented 90%.
Regular use of Catalan in Catalonia, as a percentage of speakers. The dotted segments are an estimate of the trend, based on the statements of Joan Coromines and adjusted according to Catalonia’s population growth.
The language that has gained the most ground is mainly Spanish, which went from 200,000 speakers in 1930 to 3.8 million in 2018. Moreover, speakers of other foreign languages (500,000 speakers) have also grown more than Catalan speakers over the past hundred years.
Notes, Sources, and Methodology
The data from 2003 onward is taken from Idescat (source). Before 2003, there are no official statistics, but we can make interpretations based on historical evidence. The data prior to 2003 is calculated based on two key pieces of evidence:
-
1st Interpretation: In 1930, 90% of the population of Catalonia spoke Catalan regularly. Source and evidence: The Romance linguist Joan Coromines i Vigneaux, a renowned 20th-century linguist, stated in his 1950 work "El que s'ha de saber de la llengua catalana" that "In this territory [Greater Catalonia], almost the entire population speaks Catalan as their usual language" (1, 2).\ While "almost the entire population" is not a precise number, we can interpret it quantitatively as somewhere between 80% and 100%. For the sake of a moderate estimate, we assume 90% of the population were regular Catalan speakers, with the remaining 10% being immigrants and officials of the Spanish state.
-
2nd Interpretation: Regarding population growth between 1930 and 1998, on average, 60% is due to immigration (mostly adopting or already using Spanish language), while 40% is natural growth (likely to acquire Catalan language from childhood). Source and evidence: Between 1999 and 2019, when more detailed data is available, immigration accounted for 68% of population growth. From 1930 to 1998, there was a comparable wave of migration, especially between 1953 and 1973, largely of Spanish-speaking origin (3, 4, 5, 6). To maintain a moderate estimate, we assume 60% of population growth during that period was due to immigration, with the ratio varying depending on whether the period experienced more or less total growth.
-
-
@ 7e6f9018:a6bbbce5
2025-05-22 16:33:07Per les xarxes socials es parla amb efusivitat de que Bitcoin arribarà a valer milions de dòlars. El mateix Hal Finney allà pel 2009, va estimar el potencial, en un cas extrem, de 10 milions $:
\> As an amusing thought experiment, imagine that Bitcoin is successful and becomes the dominant payment system in use throughout the world. Then the total value of the currency should be equal to the total value of all the wealth in the world. Current estimates of total worldwide household wealth that I have found range from $100 trillion to $300 trillion. Withn 20 million coins, that gives each coin a value of about $10 million. <https://satoshi.nakamotoinstitute.org/emails/bitcoin-list/threads/4/>
No estic d'acord amb els càlculs del bo d'en Hal, ja que no consider que la valoració d'una moneda funcioni així. En qualsevol cas, el 2009 la capitalització de la riquesa mundial era de 300 bilions $, avui és de 660 bilions $, és a dir ha anat pujant un 5,3% de manera anual,
$$(660/300)^{1/15} = 1.053$$
La primera apreciació amb aquest augment anual del 5% és que si algú llegeix aquest article i té diners que no necessita aturats al banc (estalvis), ara és bon moment per començar a moure'ls, encara sigui amb moviments defensius (títols de deute governamental o la propietat del primer habitatge). La desagregació per actius dels 660 bilions és:
-
Immobiliari residencial = 260 bilions $
-
Títols de deute = 125 bilions $
-
Accions = 110 bilions
-
Diners fiat = 78 bilions $
-
Terres agrícoles = 35 bilions $
-
Immobiliari comercial = 32 bilions $
-
Or = 18 bilions $
-
Bitcoin = 2 bilions $
La riquesa mundial és major que 660 bilions, però aquests 8 actius crec que són els principals, ja que s'aprecien a dia d'avui. El PIB global anual és de 84 bilions $, que no són bromes, però aquest actius creats (cotxes, ordinadors, roba, aliments...), perden valor una vegada produïts, aproximant-se a 0 passades unes dècades.
Partint d'aquest nombres com a vàlids, la meva posició base respecte de Bitcoin, ja des de fa un parell d'anys, és que te capacitat per posar-se al nivell de capitalització de l'or, perquè conceptualment s'emulen bé, i perquè tot i que Bitcoin no té un valor tangible industrial com pot tenir l'or, sí que te un valor intangible tecnològic, que és pales en tot l'ecosistema que s'ha creat al seu voltant:
-
Creació de tecnologies de pagament instantani: la Lightning Network, Cashu i la Liquid Network.
-
Producció d'aplicacions amb l'íntegrament de pagaments instantanis. Especialment destacar el protocol de Nostr (Primal, Amethyst, Damus, Yakihonne, 0xChat...)
-
Industria energètica: permet estabilitzar xarxes elèctriques i emprar energia malbaratada (flaring gas), amb la generació de demanda de hardware i software dedicat.
-
Educació financera i defensa de drets humans. És una eina de defensa contra governs i estats repressius. La Human Rights Foundation fa una feina bastant destacada d'educació.
Ara posem el potencial en nombres:
-
Si iguala l'empresa amb major capitalització, que és Apple, arribaria a uns 160 mil dòlars per bitcoin.
-
Si iguala el nivell de l'or, arribaria a uns 800 mil dòlars per bitcoin.
-
Si iguala el nivell del diner fiat líquid, arribaria a un 3.7 milions de dòlars per bitcoin.
Crec que igualar la capitalització d'Apple és probable en els pròxims 5 - 10 anys. També igualar el nivell de l'or en els pròxims 20 anys em sembla una fita possible. Ara bé, qualsevol fita per sota d'aquesta capitalització ha d'implicar tota una serie de successos al món que no sóc capaç d'imaginar. Que no vol dir que no pugui passar.
-
-
@ 7e6f9018:a6bbbce5
2025-05-22 15:44:12Over the last decade, birth rates in Spain have dropped by 30%, from 486,000 births in 2010 to 339,000 in 2020, a decline only comparable to that seen in Japan and the Four Asian Tigers.
The main cause seems to stem from two major factors: (1) the widespread use of contraceptive methods, which allow for pregnancy control without reducing sexual activity, and (2) women's entry into the labor market, leading to a significant shift away from traditional maternal roles.
In this regard, there is a phenomenon of demographic inertia that I believe could become significant. When a society ages and the population pyramid inverts, the burden this places on the non-dependent population could further contribute to a deeper decline in birth rates.
The more resources (time and money) non-dependent individuals have to dedicate to the elderly (dependents), the less they can allocate to producing new births (also dependents):
- An only child who has to care for both parents will bear a burden of 2 (2 ÷ 1).
- Three siblings who share the responsibility of caring for their parents will bear a burden of 0.6 (2 ÷ 3).
This burden on only children could, in many cases, be significant enough to prevent them from having children of their own.
In Spain, the generation of only children reached reproductive age in 2019(*), this means that right now the majority of people in reproductive age in Spain are only child (or getting very close to it).
If this assumption is correct, and aging feeds on itself, then, given that Spain has one of the worst demographic imbalances in the world, this phenomenon is likely to manifest through worsening birth rates. Spain’s current birth rate of 1.1 may not yet have reached its lowest point.
(*)Birth rate table and the year in which each generation reaches 32 years of age, Spain.
| Year of birth | Birth rate | Year in which the generation turns 32 | | ------------------ | -------------- | ----------------------------------------- | | 1971 | 2.88 | 2003 | | 1972 | 2.85 | 2004 | | 1973 | 2.82 | 2005 | | 1974 | 2.81 | 2006 | | 1975 | 2.77 | 2007 | | 1976 | 2.77 | 2008 | | 1977 | 2.65 | 2009 | | 1978 | 2.54 | 2010 | | 1979 | 2.37 | 2011 | | 1980 | 2.21 | 2012 | | 1981 | 2.04 | 2013 | | 1982 | 1.94 | 2014 | | 1983 | 1.80 | 2015 | | 1984 | 1.72 | 2016 | | 1985 | 1.64 | 2017 | | 1986 | 1.55 | 2018 | | 1987 | 1.49 | 2019 | | 1988 | 1.45 | 2020 | | 1989 | 1.40 | 2021 | | 1990 | 1.36 | 2022 | | 1991 | 1.33 | 2023 | | 1992 | 1.31 | 2024 | | 1993 | 1.26 | 2025 | | 1994 | 1.19 | 2026 | | 1995 | 1.16 | 2027 | | 1996 | 1.14 | 2028 | | 1997 | 1.15 | 2029 | | 1998 | 1.13 | 2030 | | 1999 | 1.16 | 2031 | | 2000 | 1.21 | 2032 | | 2001 | 1.24 | 2033 | | 2002 | 1.25 | 2034 | | 2003 | 1.30 | 2035 | | 2004 | 1.32 | 2036 | | 2005 | 1.33 | 2037 | | 2006 | 1.36 | 2038 | | 2007 | 1.38 | 2039 | | 2008 | 1.44 | 2040 | | 2009 | 1.38 | 2041 | | 2010 | 1.37 | 2042 | | 2011 | 1.34 | 2043 | | 2012 | 1.32 | 2044 | | 2013 | 1.27 | 2045 | | 2014 | 1.32 | 2046 | | 2015 | 1.33 | 2047 | | 2016 | 1.34 | 2048 | | 2017 | 1.31 | 2049 | | 2018 | 1.26 | 2050 | | 2019 | 1.24 | 2051 | | 2020 | 1.19 | 2052 |
-
@ c1e6505c:02b3157e
2025-05-22 03:44:39This is day two of testing the Leica Summaron 35mm f2.8 on the Fujifilm X-Pro2.
The first part of this story you can find here on StackerNews**
TL;DR: I think I’m really enjoying this lens.
I went into it thinking I’d probably just sell it since it was gifted to me - assumed I wouldn’t like it. But after just a couple of days with it mounted on the X-Pro2, I’ve been surprisingly drawn to it.
Shooting wide open at f2.8 (which is how I’m testing it - to best reveal the lens’s character), the soft roll-off is really pleasing. It feels organic. The lens is over 50 years old, so I expected some quirks-but the quality feels natural, not overly “vintage". Takes the digital edge off.
The short focus throw is also really nice. Compared to the Summicron 35mm f2 v3 I usually shoot on my M262 (which has a longer throw), the Summaron feels tighter and more responsive when zone focusing.
One gripe: the infinity lock. It’s kind of annoying. I find myself accidentally locking it too often, but I’m getting used to holding the button down as I rotate the ring. I’ve read others complain about it, so I know I’m not alone there.
Most of these shots were from a bike ride to the river - about 6 miles out to swim and enjoy the sun. Perfect day for making a few photos.
This kind of work is honestly just fun. I enjoy the process, and even more so once I’m happy with the results and can share them.
Still building confidence in my work over time. I think I’m slowly refining my style - even if the subject matter is simple. Easier said than done, as any editor/curator knows (and I say this as one through NOICE Magazine).
Let me know what you think. I’ll try to upload higher resolution versions this time around (but not too high).
*Also, I use a program called Dehancer for creating the grain in these photographs. I highly recommend the program actually, I've been using it for a long time. If you would like to try it out, I have a promo code. Use "Pictureroom" for 10% off I believe.
You can further support me and my work by sending sats to colincz\@getalby.com. Thank you.
(note* this is being publised from the updated Primal reads client)
-
@ b0a838f2:34ed3f19
2025-05-23 18:11:11- Algernon - Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support. (Source Code)
BSD-3-Clause
Go/Docker
- Apache HTTP Server - Secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards. (Source Code)
Apache-2.0
C/deb/Docker
- BunkerWeb - Next-gen Web Application Firewall (WAF) that will protect your web services. (Demo, Source Code, Clients)
AGPL-3.0
deb/Docker/K8S/Python
- Caddy - Powerful, enterprise-ready, open source web server with automatic HTTPS. (Source Code)
Apache-2.0
Go/deb/Docker
- go-doxy - Lightweight, simple, and performant reverse proxy with WebUI, Docker integration, automatic shutdown/startup for container based on traffic.
MIT
Docker/Go
- HAProxy - Very fast and reliable reverse-proxy offering high availability, load balancing, and proxying for TCP and HTTP-based applications. (Source Code)
GPL-2.0
C/deb/Docker
- Jauth
⚠
- Lightweight SSL/TLS reverse proxy with authorization (via Telegram and SSH) for self-hosted apps.GPL-3.0
Go
- Lighttpd - Secure, fast, compliant, and very flexible web server that has been optimized for high-performance environments. (Source Code)
BSD-3-Clause
C/deb/Docker
- Nginx Proxy Manager - Docker container for managing Nginx proxy hosts with a simple, powerful interface. (Source Code)
MIT
Docker
- NGINX - HTTP and reverse proxy server, mail proxy server, and generic TCP/UDP proxy server. (Source Code)
BSD-2-Clause
C/deb/Docker
- Pomerium - Identity-aware reverse proxy, successor to now obsolete oauth_proxy. It inserts an OAuth step before proxying your request to the backend, so that you can safely expose your self-hosted websites to public Internet. (Source Code)
Apache-2.0
Go/Docker
- SafeLine - Web application firewall / reverse proxy to protect your web apps from attacks and exploits. (Demo, Source Code)
GPL-3.0
Docker
- Static Web Server - Cross-platform, high-performance, and asynchronous web server for static file serving. (Source Code)
Apache-2.0/MIT
Rust/Docker
- SWAG (Secure Web Application Gateway) - Nginx webserver and reverse proxy with PHP support, built-in Certbot (Let's Encrypt) client and fail2ban integration.
GPL-3.0
Docker
- Traefik - HTTP reverse proxy and load balancer that makes deploying microservices easy. (Source Code)
MIT
Go/Docker
- Varnish - Web application accelerator/caching HTTP reverse proxy. (Source Code)
BSD-3-Clause
Go/deb/Docker
- Zoraxy - General purpose HTTP reverse proxy and forwarding tool. (Source Code)
AGPL-3.0
Go/Docker
- Algernon - Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support. (Source Code)
-
@ b0a838f2:34ed3f19
2025-05-23 18:10:51- Bluecherry - Closed-circuit television (CCTV) software application which supports IP and Analog cameras. (Source Code)
GPL-2.0
PHP
- Frigate - Monitor your security cameras with locally processed AI. (Source Code)
MIT
Docker/Python/Nodejs
- SentryShot - Video surveillance management system.
GPL-2.0
Docker/Rust
- Viseron - Self-hosted, local-only NVR and AI Computer Vision software. With features such as object detection, motion detection, face recognition and more, it gives you the power to keep an eye on your home, office or any other place you want to monitor. (Source Code)
MIT
Docker
- Zoneminder - Closed-circuit television (CCTV) software application which supports IP, USB and Analog cameras. (Source Code)
GPL-2.0
PHP/deb
- Bluecherry - Closed-circuit television (CCTV) software application which supports IP and Analog cameras. (Source Code)
-
@ b0a838f2:34ed3f19
2025-05-23 18:10:36- bit - Fast, lightweight, resource-efficient, compiled URL shortener.
MIT
Docker/Crystal
- Chhoto URL - Simple, lightning-fast URL shortener with no bloat (fork of simply-shorten).
MIT
Rust/Docker
- clink - A super-minimal link shortening service written in pure C, focusing on small executable size, portability, and ease of configuration. (Demo, Source Code)
AGPL-3.0
C
- Flink - Create QR Codes, embeddable link previews for your website and crawls/scrapes metadata. (Demo)
MIT
Docker
- Just Short It! - A KISS, single-user URL shortener that runs in just one container.
MIT
Docker
- Kutt - Modern URL shortener with support for custom domains and custom URLs. (Demo, Source Code)
MIT
Nodejs/Docker
- liteshort - User-friendly, actually lightweight, and configurable URL shortener. (Source Code)
MIT
Python/deb
- rs-short - A lightweight link shortener written in Rust, with features such as caching, spambot protection and phishing detection. (Demo)
MPL-2.0
Rust
- Shlink - URL shortener with REST API and command line interface. Includes official progressive web application and docker images. (Source Code, Clients)
MIT
PHP/Docker
- Simple-URL-Shortener - KISS URL shortener, public or private (with account). Minimalist and lightweight. No dependencies. (Demo)
MIT
PHP
- YOURLS - YOURLS is a set of PHP scripts that will allow you to run Your Own URL Shortener. Features include password protection, URL customization, bookmarklets, statistics, API, plugins, jsonp. (Source Code)
MIT
PHP
- bit - Fast, lightweight, resource-efficient, compiled URL shortener.
-
@ 21335073:a244b1ad
2025-05-21 16:58:36The other day, I had the privilege of sitting down with one of my favorite living artists. Our conversation was so captivating that I felt compelled to share it. I’m leaving his name out for privacy.
Since our last meeting, I’d watched a documentary about his life, one he’d helped create. I told him how much I admired his openness in it. There’s something strange about knowing intimate details of someone’s life when they know so little about yours—it’s almost like I knew him too well for the kind of relationship we have.
He paused, then said quietly, with a shy grin, that watching the documentary made him realize how “odd and eccentric” he is. I laughed and told him he’s probably the sanest person I know. Because he’s lived fully, chasing love, passion, and purpose with hardly any regrets. He’s truly lived.
Today, I turn 44, and I’ll admit I’m a bit eccentric myself. I think I came into the world this way. I’ve made mistakes along the way, but I carry few regrets. Every misstep taught me something. And as I age, I’m not interested in blending in with the world—I’ll probably just lean further into my own brand of “weird.” I want to live life to the brim. The older I get, the more I see that the “normal” folks often seem less grounded than the eccentric artists who dare to live boldly. Life’s too short to just exist, actually live.
I’m not saying to be strange just for the sake of it. But I’ve seen what the crowd celebrates, and I’m not impressed. Forge your own path, even if it feels lonely or unpopular at times.
It’s easy to scroll through the news and feel discouraged. But actually, this is one of the most incredible times to be alive! I wake up every day grateful to be here, now. The future is bursting with possibility—I can feel it.
So, to my fellow weirdos on nostr: stay bold. Keep dreaming, keep pushing, no matter what’s trending. Stay wild enough to believe in a free internet for all. Freedom is radical—hold it tight. Live with the soul of an artist and the grit of a fighter. Thanks for inspiring me and so many others to keep hoping. Thank you all for making the last year of my life so special.
-
@ b0a838f2:34ed3f19
2025-05-23 18:10:12- ActivityWatch - Automatically track how you spend time on your devices. (Source Code)
MPL-2.0
Python
- Beaver Habit Tracker - Habit tracking app to save your precious moments in your fleeting life. (Demo)
BSD-3-Clause
Docker
- Ever Gauzy - Open business management platform for collaborative, on-demand and sharing economies (ERP/CRM/HRM/ATS/PM). (Demo, Source Code)
AGPL-3.0
Docker/Nodejs
- Kimai - Track work time and print out a summary of your activities on demand. (Demo, Source Code)
AGPL-3.0
PHP
- solidtime - Modern time tracking application for freelancers and agencies. (Source Code)
AGPL-3.0
Docker
- TimeTagger - An open source time-tracker based on an interactive timeline and powerful reporting. (Demo, Source Code)
GPL-3.0
Python
- Traggo - Traggo is a tag-based time tracking tool. In Traggo there are no tasks, only tagged time spans. (Source Code)
GPL-3.0
Docker/Go
- ActivityWatch - Automatically track how you spend time on your devices. (Source Code)
-
@ 51bbb15e:b77a2290
2025-05-21 00:24:36Yeah, I’m sure everything in the file is legit. 👍 Let’s review the guard witness testimony…Oh wait, they weren’t at their posts despite 24/7 survellience instructions after another Epstein “suicide” attempt two weeks earlier. Well, at least the video of the suicide is in the file? Oh wait, a techical glitch. Damn those coincidences!
At this point, the Trump administration has zero credibility with me on anything related to the Epstein case and his clients. I still suspect the administration is using the Epstein files as leverage to keep a lot of RINOs in line, whereas they’d be sabotaging his agenda at every turn otherwise. However, I just don’t believe in ends-justify-the-means thinking. It’s led almost all of DC to toss out every bit of the values they might once have had.
-
@ b0a838f2:34ed3f19
2025-05-23 18:09:55- Bugzilla - General-purpose bugtracker and testing tool originally developed and used by the Mozilla project. (Source Code)
MPL-2.0
Perl
- Frappe Helpdesk - Helpdesk software which helps you streamline your company's support, offers an easy setup, clean user interface, and automation tools to resolve customer queries efficiently. (Source Code)
AGPL-3.0
Docker
- FreeScout - Email-based customer support application, help desk and shared mailbox (alternative to Zendesk and Help Scout). (Demo, Source Code)
AGPL-3.0
PHP/Docker
- GlitchTip - Error tracking app to collect errors reported by your app. (Source Code)
MIT
Python/Docker/K8S
- ITFlow - Client IT documentation, ticketing, invoicing and accounting for MSPs (Managed Service Providers). (Demo, Source Code)
GPL-3.0
PHP
- MantisBT - Bug tracker, fits best for software development. (Demo, Source Code)
GPL-2.0
PHP
- OTOBO - Flexible web-based ticketing system used for customer service, help desk, IT service management. (Demo, Source Code)
GPL-3.0
Perl/Docker
- Request Tracker - An enterprise-grade issue tracking system. (Source Code)
GPL-2.0
Perl
- Roundup Issue Tracker - A simple-to-use and -install issue-tracking system with command-line, web, REST, XML-RPC, and e-mail interfaces. Designed with flexibility in mind - not just another bug tracker. (Source Code)
MIT/ZPL-2.0
Python/Docker
- Trudesk - Trudesk is an open-source help desk/ticketing solution. (Source Code)
Apache-2.0
Nodejs/Docker
- Zammad - Easy to use but powerful open-source support and ticketing system. (Source Code)
AGPL-3.0
Ruby/deb
- Bugzilla - General-purpose bugtracker and testing tool originally developed and used by the Mozilla project. (Source Code)
-
@ c9badfea:610f861a
2025-05-20 19:49:20- Install Sky Map (it's free and open source)
- Launch the app and tap Accept, then tap OK
- When asked to access the device's location, tap While Using The App
- Tap somewhere on the screen to activate the menu, then tap ⁝ and select Settings
- Disable Send Usage Statistics
- Return to the main screen and enjoy stargazing!
ℹ️ Use the 🔍 icon in the upper toolbar to search for a specific celestial body, or tap the 👁️ icon to activate night mode
-
@ bc6ccd13:f53098e4
2025-05-21 22:13:47The global population has been rising rapidly for the past two centuries when compared to historical trends. Fifty years ago, that trend seemed set to continue, and there was a lot of concern around the issue of overpopulation. But if you haven’t been living under a rock, you’ll know that while the population is still rising, that trend now seems set to reverse this century, and there’s every indication population could decline precipitously over the next two centuries.
Demographics is a field where predictions about the future are much more reliable than in most scientific fields. That’s because future population trends are “baked in” decades in advance. If you want to know how many fifty-year-olds there will be in forty years, all you have to do is count the ten-year-olds today and allow for mortality rates. That maximum was already determined by the number of births ten years ago, and absolutely nothing can change that now. The average person doesn’t think that through when they look at population trends. You hear a lot of “oh we just need to do more of x to help the declining birthrate” without an acknowledgement that future populations in a given cohort are already fixed by the number of births that already occurred.
As you can see, global birthrates have already declined close to the 2.3 replacement level, with some regions ahead of others, but all on the same trajectory with no region moving against the trend. I’m not going to speculate on the reasons for this, or even whether it’s a good or bad thing. Instead I’m going to make some observations about outcomes this trend could cause economically, and why. Like most macro issues, an individual can’t do anything to change the global landscape personally, but knowing what that landscape might look like is essential to avoiding fallout from trends outside your control.
The Resource Pie
Thomas Malthus popularized the concern about overpopulation with his 1798 book An Essay on the Principle of Population. The basic premise of the book was that population could grow and consume all the available resources, leading to mass poverty, starvation, disease, and population collapse. We can say in hindsight that this was incorrect, given that the global population has increased from less than a billion to over eight billion since then, and the apocalypse Malthus predicted hasn’t materialized. Exactly the opposite, in fact. The global standard of living has risen to levels Malthus couldn’t have imagined, much less predicted.
So where did Malthus go wrong? His hypothesis seems reasonable enough, and we do see a similar trend in certain animal populations. The base assumption Malthus got wrong was to assume resources are a finite, limiting factor to the human population. That at some point certain resources would be totally consumed, and that would be it. He treated it like a pie with a lot of slices, but still a finite number, and assumed that if the population kept rising, eventually every slice would be consumed and there would be no pie left for future generations. That turns out to be completely wrong.
Of course, the earth is finite at some abstract level. The number of atoms could theoretically be counted and quantified. But on a practical level, do humans exhaust the earth’s resources? I’d point to an article from Yale Scientific titled Has the Earth Run out of any Natural Resources? To quote,
> However, despite what doomsday predictions may suggest, the Earth has not run out of any resources nor is it likely that it will run out of any in the near future. > > In fact, resources are becoming more abundant. Though this may seem puzzling, it does not mean that the actual quantity of resources in the Earth’s crust is increasing but rather that the amount available for our use is constantly growing due to technological innovations. According to the U.S. Geological Survey, the only resource we have exhausted is cryolite, a mineral used in pesticides and aluminum processing. However, that is not to say every bit of it has been mined away; rather, producing it synthetically is much more cost efficient than mining the existing reserves at its current value.
As it happens, we don’t run out of resources. Instead, we become better at finding, extracting, and efficiently utilizing resources, which means that in practical terms resources become more abundant, not less. In other words, the pie grows faster than we can eat it.
So is there any resource that actually limits human potential? I think there is, and history would suggest that resource is human ingenuity and effort. The more people are thinking about and working on a problem, the more solutions we find and build to solve it. That means not only does the pie grow faster than we can eat it, but the more people there are, the faster the pie grows. Of course that assumes everyone eating pie is also working to grow the pie, but that’s a separate issue for now.
Productivity and Division of Labor
Why does having more people lead to more productivity? A big part of it comes down to division of labor and specialization. The best way to get really good at something is to do more of it. In a small community, doing just one thing simply isn’t possible. Everyone has to be somewhat of a generalist in order to survive. But with a larger population, being a specialist becomes possible. In fact, that’s the purpose of money, as I explained here.
nostr:naddr1qvzqqqr4gupzp0rve5f6xtu56djkfkkg7ktr5rtfckpun95rgxaa7futy86npx8yqq247t2dvet9q4tsg4qng36lxe6kc4nftayyy89kua2
The more specialized an economy becomes, the more efficient it can be. There are big economies of scale in almost every task or process. So for example, if a single person tried to build a car from scratch, it would be extremely difficult and take a very long time. However, if you have a thousand people building a car, each doing a specific job, they can become very good at doing that specific job and do it much faster. And then you can move that process to a factory, and build machines to do specific jobs, and add even more efficiency.
But that only works if you’re building more than one car. It doesn’t make sense to build a huge factory full of specialized equipment that takes lots of time and effort to design and manufacture, and then only build one car. You need to sell thousands of cars, maybe even millions of cars, to pay off that initial investment. So division of labor and specialization relies on large populations in two different ways. First, you need a large population to have enough people to specialize in each task. But second and just as importantly, you need a large population of buyers for the finished product. You need a big market in order to make mass production economical.
Think of a computer or smartphone. It takes thousands of specialized processes, thousands of complex parts, and millions of people doing specialized jobs to extract the raw materials, process them, and assemble them into a piece of electronic hardware. And electronics are relatively expensive anyway. Imagine how impossible it would be to manufacture electronics economically, if the market demand wasn’t literally in the billions of units.
Stairs Up, Elevator Down
We’ve seen exponential increases in productivity over the past few centuries, resulting in higher living standards even as population exploded. Now, facing the prospect of a drastic trend reversal, what will happen to productivity and living standards? The typical sentiment seems to be “well, there are a lot of people already competing for resources, so if population does decline, that will just reduce the competition and leave a bigger slice of pie for each person, so we’ll all be getting wealthier as a result of population decline.”
This seems reasonable at first glance. Surely dividing the economic pie into fewer slices means a bigger slice for everyone, right? But remember, more specialization and division of labor is what made the pie as big as it is to begin with. And specialization depends on large populations for both the supply of specialized labor, and the demand for finished goods. Can complex supply chains and mass production withstand population reduction intact? I don’t think the answer is clear.
The idea that it will all be okay, and we’ll get wealthier as population falls, is based on some faulty assumptions. It assumes that wealth is basically some fixed inventory of “things” that exist, and it’s all a matter of distribution. That’s typical Marxist thinking, similar to the reasoning behind “tax the rich” and other utopian wealth transfer schemes.
The reality is, wealth is a dynamic concept with strong network effects. For example, a grocery store in a large city can be a valuable asset with a large potential income stream. The same store in a small village with a declining population can be an unprofitable and effectively worthless liability.
Even something as permanent as a house is very susceptible to network effects. If you currently live in an area where housing is scarce and expensive, you might think a declining population would be the perfect solution to high housing costs. However, if you look at a place that’s already facing the beginnings of a population decline, you’ll see it’s not actually that simple. Japan, for example, is already facing an aging and declining population. And sure enough, you can get a house in Japan for free, or basically free. Sounds amazing, right? Not really.
If you check out the reason houses are given away in Japan, you’ll find a depressing reality. Most of the free houses are in rural areas or villages where the population is declining, often to the point that the village becomes uninhabited and abandoned. It’s so bad that in 2018, 13.6% of houses in Japan were vacant. Why do villages become uninhabited? Well, it turns out that a certain population level is necessary to support the services and businesses people need. When the population falls too low, specialized businesses can no longer operated profitably. It’s the exact issue we discussed with division of labor and the need for a high population to provide a market for the specialist to survive. As the local stores, entertainment venues, and businesses close, and skilled tradesmen move away to larger population centers with more customers, living in the village becomes difficult and depressing, if not impossible. So at a certain critical level, a village that’s too isolated will reach a tipping point where everyone leaves as fast as possible. And it turns out that an abandoned house in a remote village or rural area without any nearby services and businesses is worth… nothing. Nobody wants to live there, nobody wants to spend the money to maintain the house, nobody wants to pay the taxes needed to maintain the utilities the town relied on. So they try to give the houses away to anyone who agrees to live there, often without much success.
So on a local level, population might rise gradually over time, but when that process reverses and population declines to a certain level, it can collapse rather quickly from there.
I expect the same incentives to play out on a larger scale as well. Complex supply chains and extreme specialization lead to massive productivity. But there’s also a downside, which is the fragility of the system. Specialization might mean one shop can make all the widgets needed for a specific application, for the whole globe. That’s great while it lasts, but what happens when the owner of that shop retires with his lifetime of knowledge and experience? Will there be someone equally capable ready to fill his shoes? Hopefully… But spread that problem out across the global economy, and cracks start to appear. A specialized part is unavailable. So a machine that relies on that part breaks down and can’t be repaired. So a new machine needs to be built, which is a big expense that drives up costs and prices. And with a falling population, demand goes down. Now businesses are spending more to make fewer items, so they have to raise prices to stay profitable. Now fewer people can afford the item, so demand falls even further. Eventually the business is forced to close, and other industries that relied on the items they produced are crippled. Things become more expensive, or unavailable at any price. Living standards fall. What was a stairway up becomes an elevator down.
Hope, From the Parasite Class?
All that being said, I’m not completely pessimistic about the future. I think the potential for an acceptable outcome exists.
I see two broad groups of people in the economy; producers, and parasites. One thing the increasing productivity has done is made it easier than ever to survive. Food is plentiful globally, the only issues are with distribution. Medical advances save countless lives. Everything is more abundant than ever before. All that has led to a very “soft” economic reality. There’s a lot of non-essential production, which means a lot of wealth can be redistributed to people who contribute nothing, and if it’s done carefully, most people won’t even notice. And that is exactly what has happened, in spades.
There are welfare programs of every type and description, and handouts to people for every reason imaginable. It’s never been easier to survive without lifting a finger. So millions of able-bodied men choose to do just that.
Besides the voluntarily idle, the economy is full of “bullshit jobs.” Shoutout to David Graeber’s book with that title. (It’s an excellent book and one I would highly recommend, even though the author was a Marxist and his conclusions are completely wrong.) A 2015 British poll asked people, “Does your job make a meaningful contribution to the world?” Only 50% said yes, while 37% said no and 13% were uncertain.
This won’t be a surprise to anyone who’s operated a business, or even worked in the private sector in general. There are three types of jobs; jobs that accomplish something productive, jobs that accomplish nothing of value, and jobs that actually hinder people trying to accomplish something productive. The number of jobs in the last two categories has grown massively over the years. This would include a lot of unnecessary administrative jobs, burdensome regulatory jobs, useless DEI and HR jobs, a large percentage of public sector jobs, most of the military-industrial complex, and the list is endless. All these jobs accomplish nothing worthwhile at best, and actively discourage those who are trying to accomplish something at worst.
Even among jobs that do accomplish some useful purpose, the amount of time spent actually doing the job continues to decline. According to a 2016 poll, American office workers spent only 39% of their workday actually doing their primary task. The other 61% was largely wasted on unproductive administrative tasks and meetings, answering emails, and just simply wasting time.
I could go on, but the point is, there’s a lot of slack in the economy. We’ve become so productive that the number of people actually doing the work to keep everyone fed, clothed, and cared for is only a small percentage of the population. In one sense, that’s a cause for optimism. The population could decline a lot, and we’d still have enough bodies to man the economic engine, as it were.
Aging
The thing with population decline, though, is nobody gets to choose who goes first. Not unless you’re a psychopathic dictator. So populations get old, then they get small. This means that the number of dependents in the economy rises naturally. Once people retire, they still need someone to grow the food, keep the lights on, and provide the medical care. And it doesn’t matter how much money the retirees have saved, either. Money is just a claim on wealth. The goods and services actually have to be provided by someone, and if that someone was never born, all the money in the world won’t change anything.
And the aging occurs on top of all the people already taking from the economy without contributing anything of value. So that seems like a big problem.
Currently, wealth redistribution happens through a combination of direct taxes, indirect taxation through deficit spending, and the whole gamut of games that happen when banks create credit/debt money by making loans. In a lot of cases, it’s very indirect and difficult to pin down. For example, someone has a “job” in a government office, enforcing pointless regulations that actually hinder someone in the private sector from producing something useful. Their paycheck comes from the government, so a combination of taxes on productive people, and deficit spending, which is also a tax on productive people. But they “have a job,” so who’s going to question their contribution to society? On the other hand, it could be a banker or hedge fund manager. They might be pulling in a massive salary, but at the core all they’re really doing is finding creative financial ways to transfer wealth from productive people to themselves, without contributing anything of value.
You’ll notice a common theme if you think about this problem deeply. Most of the wealth transfer that supports the unproductive, whether that’s welfare recipients, retirees, bureaucrats, corporate middle managers, or weapons manufacturers, is only possible through expanding the money supply. There’s a limit to how much direct taxation the productive will bear while the option to collect welfare exists. At a certain point, people conclude that working hard every day isn’t worth it, when taxes take so much of their wages that they could make almost as much without working at all. So the balance of what it takes to support the dependent class has to come indirectly, through new money creation.
As long as the declining population happens under the existing monetary system, the future looks bleak. There’s no limit to how much money creation and inflation the parasite class will use in an attempt to avoid work. They’ll continue to suck the productive class dry until the workers give up in disgust, and the currency collapses into hyperinflation. And you can’t run a complex economy without functional money, so productivity inevitably collapses with the currency.
The optimistic view is that we don’t have to continue supporting the failed credit/debt monetary system. It’s hurting productivity, messing up incentives, and contributing to increasing wealth inequality and lower living standards for the middle class. If we walk away from that system and adopt a hard money standard, the possibility of inflationary wealth redistribution vanishes. The welfare and warfare programs have to be slashed. The parasite class is forced to get busy, or starve. In that scenario, the declining population of workers can be offset by a massive shift away from “bullshit jobs” and into actual productive work.
While that might not be a permanent solution to declining population, it would at least give us time to find a real solution, without having our complex economy collapse and send our living standards back to the 17th century.
It’s a complex issue with many possible outcomes, but I think a close look at the effects of the monetary system on productivity shows one obvious problem that will make the situation worse than necessary. Moving to a better monetary system and creating incentives for productivity would do a lot to reduce the economic impacts of a declining population.
-
@ 04c915da:3dfbecc9
2025-05-20 15:53:48This piece is the first in a series that will focus on things I think are a priority if your focus is similar to mine: building a strong family and safeguarding their future.
Choosing the ideal place to raise a family is one of the most significant decisions you will ever make. For simplicity sake I will break down my thought process into key factors: strong property rights, the ability to grow your own food, access to fresh water, the freedom to own and train with guns, and a dependable community.
A Jurisdiction with Strong Property Rights
Strong property rights are essential and allow you to build on a solid foundation that is less likely to break underneath you. Regions with a history of limited government and clear legal protections for landowners are ideal. Personally I think the US is the single best option globally, but within the US there is a wide difference between which state you choose. Choose carefully and thoughtfully, think long term. Obviously if you are not American this is not a realistic option for you, there are other solid options available especially if your family has mobility. I understand many do not have this capability to easily move, consider that your first priority, making movement and jurisdiction choice possible in the first place.
Abundant Access to Fresh Water
Water is life. I cannot overstate the importance of living somewhere with reliable, clean, and abundant freshwater. Some regions face water scarcity or heavy regulations on usage, so prioritizing a place where water is plentiful and your rights to it are protected is critical. Ideally you should have well access so you are not tied to municipal water supplies. In times of crisis or chaos well water cannot be easily shutoff or disrupted. If you live in an area that is drought prone, you are one drought away from societal chaos. Not enough people appreciate this simple fact.
Grow Your Own Food
A location with fertile soil, a favorable climate, and enough space for a small homestead or at the very least a garden is key. In stable times, a small homestead provides good food and important education for your family. In times of chaos your family being able to grow and raise healthy food provides a level of self sufficiency that many others will lack. Look for areas with minimal restrictions, good weather, and a culture that supports local farming.
Guns
The ability to defend your family is fundamental. A location where you can legally and easily own guns is a must. Look for places with a strong gun culture and a political history of protecting those rights. Owning one or two guns is not enough and without proper training they will be a liability rather than a benefit. Get comfortable and proficient. Never stop improving your skills. If the time comes that you must use a gun to defend your family, the skills must be instinct. Practice. Practice. Practice.
A Strong Community You Can Depend On
No one thrives alone. A ride or die community that rallies together in tough times is invaluable. Seek out a place where people know their neighbors, share similar values, and are quick to lend a hand. Lead by example and become a good neighbor, people will naturally respond in kind. Small towns are ideal, if possible, but living outside of a major city can be a solid balance in terms of work opportunities and family security.
Let me know if you found this helpful. My plan is to break down how I think about these five key subjects in future posts.
-
@ 04c915da:3dfbecc9
2025-05-20 15:50:22There is something quietly rebellious about stacking sats. In a world obsessed with instant gratification, choosing to patiently accumulate Bitcoin, one sat at a time, feels like a middle finger to the hype machine. But to do it right, you have got to stay humble. Stack too hard with your head in the clouds, and you will trip over your own ego before the next halving even hits.
Small Wins
Stacking sats is not glamorous. Discipline. Stacking every day, week, or month, no matter the price, and letting time do the heavy lifting. Humility lives in that consistency. You are not trying to outsmart the market or prove you are the next "crypto" prophet. Just a regular person, betting on a system you believe in, one humble stack at a time. Folks get rekt chasing the highs. They ape into some shitcoin pump, shout about it online, then go silent when they inevitably get rekt. The ones who last? They stack. Just keep showing up. Consistency. Humility in action. Know the game is long, and you are not bigger than it.
Ego is Volatile
Bitcoin’s swings can mess with your head. One day you are up 20%, feeling like a genius and the next down 30%, questioning everything. Ego will have you panic selling at the bottom or over leveraging the top. Staying humble means patience, a true bitcoin zen. Do not try to "beat” Bitcoin. Ride it. Stack what you can afford, live your life, and let compounding work its magic.
Simplicity
There is a beauty in how stacking sats forces you to rethink value. A sat is worth less than a penny today, but every time you grab a few thousand, you plant a seed. It is not about flaunting wealth but rather building it, quietly, without fanfare. That mindset spills over. Cut out the noise: the overpriced coffee, fancy watches, the status games that drain your wallet. Humility is good for your soul and your stack. I have a buddy who has been stacking since 2015. Never talks about it unless you ask. Lives in a decent place, drives an old truck, and just keeps stacking. He is not chasing clout, he is chasing freedom. That is the vibe: less ego, more sats, all grounded in life.
The Big Picture
Stack those sats. Do it quietly, do it consistently, and do not let the green days puff you up or the red days break you down. Humility is the secret sauce, it keeps you grounded while the world spins wild. In a decade, when you look back and smile, it will not be because you shouted the loudest. It will be because you stayed the course, one sat at a time. \ \ Stay Humble and Stack Sats. 🫡
-
@ bc6ccd13:f53098e4
2025-05-21 22:11:33The Bitcoin price action since the US presidential election, and particularly today, November 11, has given me an excuse to revisit an idea I’ve written about before. I explained here that money doesn’t “flow into” assets, and that the terminology makes it difficult for people to understand how prices actually work.
nostr:naddr1qvzqqqr4gupzp0rve5f6xtu56djkfkkg7ktr5rtfckpun95rgxaa7futy86npx8yqqhy6mmwv4uj63r0v4ekutt594fx2ctvd3uj63nvdamj6jtww3hj6stw096xs6twvukkgmt9ws6xg86ht5t
The Bitcoin market this year has been a perfect illustration of the points I tried to make, which offers another angle to explain the concept.
Back in January, the first spot Bitcoin ETFs were launched for trading in the US market. This was heralded as a great thing for the Bitcoin price, and tracking “inflows” into these ETFs became a top priority for Bitcoin market analysts. The expectation of course was that more Bitcoin purchased by these ETFs would result in higher prices for the asset.
And sure enough, over the first two months of trading, from mid-January to mid-March, the combined “inflows” to the ETFs totaled around $11 billion. Over the same time frame, the Bitcoin price rose almost 60%, from around $43,000 to $68,000. As should be expected, right?
But then, over the next seven and a half months, from mid-March to early November, the ETFs saw another $11 billion in “inflows”. The Bitcoin price in mid-March? $68,000. In early November? All the way up to… $68,000. Seven and a half months of treading water.
So how can that be? How can $11 billion dollars flowing into an asset cause a 60% price rise once, and no price change at all the next time?
If you read my previous article linked above, you’ll see that the whole idea of money “flowing into” an asset is incorrect and misleading, and this is a perfect illustration why. If you step back a bit, you’ll see the folly of that mentality. So when the ETFs buy $11 billion dollars worth of Bitcoin, where does it come from? They obviously have to buy it from someone. As always, every transaction has a buyer and a seller. In this case, the sellers are current Bitcoin holders selling through OTC desks on the spot market.
So why focus on the ETF buying rather than the Bitcoin holder selling? Instead of saying there were $11 billion in inflows to the Bitcoin ETFs, why not say there were $11 billion in outflows from spot Bitcoin holders? It’s just as valid either way.
To take it a step further, many analysts were consistently confused all summer as Bitcoin ETFs continued to see “inflows” on days that the Bitcoin price stayed flat or even fell. So let’s imagine two consecutive days of $300 million daily “inflows” into the ETFs. The first day, the Bitcoin price rises 3%. The second day, the Bitcoin price falls 3%. The first day, headlines can read Bitcoin Price Rises 3% as ETFs See $300m in Inflows. The second day, headlines can read Bitcoin Price Falls 3% as Spot Bitcoin Holders See $300m in Outflows.
See the silliness of this whole idea? Money flows aren’t the cause of price movement. They’re a fake metric used as a post hoc justification for price moves by people who want you to believe they understand markets better than you.
Moving on to today, as I write this on the evening of November 11, Bitcoin is up 30% from $68,000 to $88,000 in the week since the November 5 election. It rose from $69,000 to $75,000 on election night alone, after US markets had closed and while there were no ETF “inflows” at all. In fact, the ETFs saw over a hundred million dollars in outflows on November 5, followed by an 8% single day price increase.
So if money flows don’t move price, what does?
Investor sentiment, that’s what.
Talking about money flows at all, as illustrated by the Bitcoin ETFs, requires arbitrarily dividing a single market into different segments to disguise the fact that every transaction has both a buyer and a seller, so every transaction has an equal dollar amount of “flows” in both directions. In actuality, price is set by a convergence between the highest price any potential buyer is willing to pay, and the lowest price any potential seller is willing to accept. And that number can change without a single transaction occurring, and without a single dollar “flowing” anywhere.
If every Bitcoin holder simultaneously decided tonight that the lowest price they’re willing to accept is $200,000 per Bitcoin, and a single potential buyer decided to buy a single dollar worth of Bitcoin at that price, that would be the new Bitcoin price tomorrow morning. No ETF “inflows” or institutional buying pressure or short squeezes or liquidations required, or any of the other excuses market analysts use to confuse normal people and make it seem like they have some deep esoteric insight into the workings of markets and future price action.
Don’t overcomplicate something as simple as price. If holders of an asset demand higher prices and potential buyers are willing to pay it, prices rise. If potential buyers of an asset offer lower prices and holders are willing to sell, prices fall. The constant interplay between all those individual investors sentiments is what forms a market and a price. The transferring of money between buyers and sellers is an effect of price, not a cause.
-
@ bc6ccd13:f53098e4
2025-05-21 22:03:04Bullshit Jobs, for those unfamiliar, is the title of a 2018 book by anthropologist David Graeber. It’s well worth a read just for the fascinating research and the engaging writing style. The premise of the book is that many people work in jobs that contribute nothing to society, and would not be missed if they suddenly vanished overnight.
The data backs this up. In a 2015 British poll that asked “does your job make a meaningful contribution to the world?”, 37 percent of people said no, and another 13 percent weren’t sure. That’s fully half the population who can’t confidently say their job is even worth doing. And other polls have found similar or worse results.
The book was inspired by the overwhelming response to a 2013 article Graeber wrote titled On the Phenomenon of Bullshit Jobs: A Work Rant. The point I’d like to address is found here.
Over the course of the last century, the number of workers employed as domestic servants, in industry, and in the farm sector has collapsed dramatically. At the same time, ‘professional, managerial, clerical, sales, and service workers’ tripled, growing ‘from one-quarter to three-quarters of total employment.’ In other words, productive jobs have, just as predicted, been largely automated away (even if you count industrial workers globally, including the toiling masses in India and China, such workers are still not nearly so large a percentage of the world population as they used to be.)
But rather than allowing a massive reduction of working hours to free the world’s population to pursue their own projects, pleasures, visions, and ideas, we have seen the ballooning of not even so much of the ‘service’ sector as of the administrative sector, up to and including the creation of whole new industries like financial services or telemarketing, or the unprecedented expansion of sectors like corporate law, academic and health administration, human resources, and public relations.
These are what I propose to call ‘bullshit jobs’.
It’s as if someone were out there making up pointless jobs just for the sake of keeping us all working. And here, precisely, lies the mystery. In capitalism, this is precisely what is not supposed to happen. Sure, in the old inefficient socialist states like the Soviet Union, where employment was considered both a right and a sacred duty, the system made up as many jobs as they had to (this is why in Soviet department stores it took three clerks to sell a piece of meat). But, of course, this is the sort of very problem market competition is supposed to fix. According to economic theory, at least, the last thing a profit-seeking firm is going to do is shell out money to workers they don’t really need to employ. Still, somehow, it happens.
While corporations may engage in ruthless downsizing, the layoffs and speed-ups invariably fall on that class of people who are actually making, moving, fixing and maintaining things; through some strange alchemy no one can quite explain, the number of salaried paper-pushers ultimately seems to expand, and more and more employees find themselves, not unlike Soviet workers actually, working 40 or even 50 hour weeks on paper, but effectively working 15 hours just as Keynes predicted, since the rest of their time is spent organizing or attending motivational seminars, updating their facebook profiles or downloading TV box-sets.
The answer clearly isn’t economic: it’s moral and political.
In the book, Graeber expands on this idea with a very entertaining description of the many flavors of bullshit jobs, based on anecdotes from readers of his article. He follows that up with theories speculating on the cause of this situation. And wraps it all up with the conclusion that basically capitalists are all big meanies and invent bullshit jobs just to torture people and prevent the arrival of the Marxist utopia where no one has to do much real work and we all sit around and sing kumbaya and discuss philosophy. That’s too harsh a criticism of a very well researched and written book, but I have to confess I was sorely disappointed the first time I read it by the author’s failure to even entertain what seems like the obvious alternative explanation.
Graeber acknowledges in the book that it’s not surprising bullshit jobs exist inside government, although he doesn’t focus strongly enough on why that is. Like he does in the article, he tries to brush it off with the excuse that the same problem exists in the private sector. As he acknowledges, this isn’t supposed to happen in capitalism. He realizes that it makes no logical economic sense for a profit-seeking firm to hire workers to do nothing productive.
But then he follows that acknowledgement with the claim that “The answer clearly isn’t economic: it’s moral and political.” I’m sorry, what? How is that clear? How do you go from stating an obvious economic fact, to denying that the problem is economic, and call it “clear”.
“Still, somehow, it happens,” is not anywhere close to a sufficient explanation to rule out an economic factor.
The economic explanation
First, some definitions.
Capitalism is defined as “an economic system in which the means of production and distribution are privately or corporately owned and development occurs through the accumulation and reinvestment of profits gained in a free market.”
A free market is “an economic system in which prices are based on competition among private businesses and are not controlled or regulated by a government: a market operating by free competition.”
Now that we made sure we’re talking about the same thing, we can analyze this issue logically.
Capitalism and free markets work through competition for customers. It’s an economic law that a customer won’t pay more for the same good or service when they could pay less. Someone can try to make obscure and esoteric objections and force me to emphasize the word “same” and analyze what the good or service being purchased actually is, but everyone else understands this intuitively. So if two companies are offering the same product for sale, all things being equal, the company offering lower prices will attract the customers. Pretty simple stuff.
Of course, the goal for the company is to generate profits. It’s literally in the definition of the word “capitalism”. So any system in which companies have a goal other than generating profits is, by definition, not capitalism.
A company can increase its profits two ways: raising prices, or lowering costs. We don’t have to get too philosophical to realize that if a company is paying someone to do nothing, the company could increase profits by firing that person and lowering their costs of production.
So the question is, why don’t they? Why do they hire people who increase their costs and lower their profits, thereby making them less competitive? And more importantly, if they do make that mistake, why don’t their competitors undercut their prices and take all the customers and bankrupt them?
I don’t think we can dismiss the economic factor as off-handedly as Graeber does. After all, making a profit is the fundamental, definitional purpose of a business or company in a capitalist economy. To say “companies in this capitalist economy are doing something completely antithetical to the very principles and definition of capitalism, so obviously they’re not doing it for economic reasons” is something of a non sequitur.
The conclusion, to me, seems obvious. We don’t have a capitalist economy. As far as I can tell, that’s true by definition. If companies aren’t even trying to achieve the goal companies must achieve to survive in a capitalist economy, and somehow they’re still surviving, that’s proof of the non-capitalist nature of the economy.
Which part of the capitalist system are we missing?
Well, let’s start with the obvious: there’s a lot of government in our economy. The government isn’t privately owned, which makes it not capitalist by definition. So any part of the economy that’s government is not capitalist.
Why is government not capitalist? Because government is not motivated to provide goods and services at a profit. Why not? Because government does not sell goods and services into a free market. Government gives away goods and services to its “customers” for free, because they’re paid for by people other than the consumers of the service. That payment comes in one of two ways: taxes, and debt. It’s not a voluntary transaction.
Which part of the capitalist system might private companies be missing?
They could be lacking competition. That is, operating a monopoly or cartel. If there’s no competing business to provide goods at lower prices, the company could hire people for useless jobs and compensate by raising prices. This places them outside the definition of capitalism, since “free competition” is part of the definition of a free market. Monopolies and cartels often develop and survive through protection by the government, which emphasizes their un-capitalistic nature.
They could be in a temporary situation where the people making the management decisions are sufficiently insulated from the market forces at play that their poor decisions can persist for a while. Many companies begin to lose their competitive edge at some point, after getting big enough to have economic inertia and for the management to be less accountable for business performance. If a company has grown big enough, they can start making poor financial decisions and absorb the lost profits, sometimes for years, before losing their market share to a smaller, more competitive rival. This isn’t really an absence of capitalism, just the natural creative destruction necessary for capitalism to function. The problem comes when a company that’s obviously uncompetitive is prevented from failing through un-capitalistic means. Maybe they’re big enough and wealthy enough to pressure the government into granting them monopoly status. This doesn’t have to be open, it’s often through creating such an impenetrable legal morass around the industry that no competitor can emerge. Or it can be in the form of a “too big to fail” direct government bailout.
The company could also be lacking that essential link between customer satisfaction and business income. In other words, maybe they aren’t selling to their customers. That can happen for various reasons.
Some companies are “private companies” but sell to the government. The government is not a customer in the capitalist sense, because the government spends money taken coercively from its subjects, not money earned voluntarily in the free market. So any company like Raytheon or Boeing that survives off government contracts can’t be accurately called a capitalist organization.
In an industry like healthcare, where the insurance companies are the middlemen in basically all transactions between patients and doctors, there are also lots of ways for bullshit jobs to proliferate. Patients don’t care how much a procedure costs, just that it helps them. Doctors don’t care how much a procedure costs, just that the insurance company will pay for it. And insurance companies don’t care whether a procedure helps the patient, they just want to collect as many premiums as possible while paying out as little for care as possible. The fact that the patient isn’t paying the doctor for their care breaks the necessary link between customer and producer that’s essential for a free market to function. That combines with the regulatory moat and cartel-like structure of the healthcare industry to prevent the competitive function of capitalism from occurring.
Companies could also be surviving off of money from someone other than their customers: bankers and investors. There’s obviously a role in a capitalist system for investors to support a new venture until it’s able to attract customers and establish a stable and profitable business model. But many companies today exist for much longer than economically reasonable without turning a profit. In the US, almost 2,000 of the 5,000 publicly traded companies with data available were classified as “zombie companies”, meaning they don’t even make enough profit to pay the interest on their debt. So they’re going deeper in the hole every year. How can this continue?
Well, the alternative to paying off your debt, is to borrow even more money to make payments on the debt you already owe. If this sounds similar to how the US government survives, then you’re beginning to get the picture.
How can banks keep loaning money to unprofitable businesses? And why would they do it? It doesn’t make sense… until you understand how banking works.
That’s really the core focus of most of my writing, and I’ve written multiple articles on money and banking explaining how the system works as I understand it. This would be a good one focused on banking specifically.
nostr:naddr1qvzqqqr4gupzp0rve5f6xtu56djkfkkg7ktr5rtfckpun95rgxaa7futy86npx8yqqt4g6r994pxjeedgfsku6edf35k2tt5de4nvdtzhjwrp2
To very briefly recap, banks don’t make loans by taking in money from depositors and loaning that money to borrowers. Instead, banks create new money that never existed before out of thin air and loan that new money to borrowers. Banks make a profit by charging borrowers interest on this newly created money, which costs them nothing to create. A pretty cushy gig, if you can get it.
So from the perspective of the banks, the more loans and debt outstanding, the better. Every dollar of debt is a dollar they can collect interest on. It cost them nothing to create, so the more, the merrier. In fact, the banks would prefer that the loan principle never be repaid, because once it’s repaid, they can no longer collect interest on that loan until they make another loan to replace it. As long as the borrower keeps paying interest, the banks are happy. And if they need to lend the borrower some more money so he can afford to pay the interest, that’s fine too. Anything but letting the loan default.
Given those incentives, how do you expect a chart of the outstanding loans and credit of US commercial banks to look?
If you guessed up only, you’d be correct.
So what does this banking system have to do with bullshit jobs? Well, I’d argue that the fractionally reserved fiat banking system, in and of itself, is an anti-capitalist system. Money is the communication layer of capitalism, as I’ve previously written.
nostr:naddr1qvzqqqr4gupzp0rve5f6xtu56djkfkkg7ktr5rtfckpun95rgxaa7futy86npx8yqq247t2dvet9q4tsg4qng36lxe6kc4nftayyy89kua2
When one group of people can create money out of thin air, they have the ability to reallocate wealth in the economy. As long as the money is still functional, of course. Too much money creation and wealth reallocation, and people stop trusting the money. That’s when inflation becomes hyperinflation, the money no longer functions, and the whole system implodes.
Wealth reallocation by a small select group is the essence of a centrally planned socialist/Marxist economy. And we all know how efficient those economies are. In fact, Graeber himself mentioned the inefficiency of socialist states like the Soviet Union in his original article, and was not at all surprised by the existence of bullshit jobs in such an economic system. When wealth can be reallocated by central planners without regard to people’s preferences in a free market, inefficiency is never punished, so zombie companies full of bullshit jobs never go bankrupt.
The same thing happens under our “capitalist” system. Zombie companies full of bullshit jobs can get almost unlimited funding from too-big-to-fail banks, who don’t care whether they repay the loans, as long as they stay in business and keep making the interest payments. Sometimes the funding is in the form of loans directly, sometimes it’s in the form of massive stock market bubbles inflated by the endless money creation, sometimes through junk bond issuance funded by the same bubble economics, and sometimes it’s venture capital funds flush with liquidity for the same reason. Regardless, the cause, and the outcome, are the same.
The corrupt bankers own the corrupt politicians, so when the inevitable so-called black swan event occurs and the rotten edifice starts to quiver, another bailout is promptly rolled out. The government borrows trillions from their owners over at the Federal Reserve, who create the money out of thin air. The government sends it on over to the bankers who got caught with their hand in the cookie jar once again, and they paper over the massive holes in their balance sheet caused by blowing asset bubbles and funding inefficient zombie companies. Or sometimes, the government skips the middlemen entirely and bails out Boeing or whoever it happens to be directly.
And once again, bullshit jobs that couldn’t survive free market competition are rewarded at the expense of savers and taxpayers. As always, this flood of new liquidity flows out through the economy, causing inflation and boosting income for other inefficient companies that also deserved to fail. Creative destruction, a fundamental feature of a capitalist system, is avoided once again.
In my opinion, the banking system is at the root of the problem causing the proliferation of bullshit jobs. The system itself is, by design, fundamentally anti-capitalist in nature and function. It’s really a giant privately owned economic central planning system, in which a small fraction of people determine how resources are allocated, with privatized profits and socialized losses. The Soviet technocrats would be jealous.
Unfortunately, the bankers have successfully connected their industry so tightly to the term “capitalist” that showing people they’re anything but is almost impossible. To paraphrase the well-known quote, the greatest trick the bankers ever pulled was convincing the world that they’re the real capitalists.
Until the banking and monetary system fundamentally changes, inefficiency will persist and bullshit jobs will continue to proliferate. In my opinion, the problem is very much an economic problem. And it’s not a “late-stage capitalism” problem, it’s a “capitalism left the building a century ago” problem. We don’t need to get rid of capitalism, we’ve already done that. We need to bring sound money, and with it the possibility of a capitalist economy, back again.
-
@ b0a838f2:34ed3f19
2025-05-23 18:09:35- 4ga Boards - Straightforward realtime kanban boards management for intuitive task tracking. Featuring an elegant dark mode, collapsible todo lists, and multitasking tools to supercharge your team's productivity. (Demo, Source Code)
MIT
Nodejs/Docker/K8S
- AppFlowy - Build detailed lists of to-do’s for different projects while tracking the status of each one. Open Source Notion Alternative. (Source Code)
AGPL-3.0
Rust/Dart/Docker
- Donetick - Task and chore management tool for personal and family use, with advanced scheduling, flexible assignment, and group sharing capabilities, detailed history, automation via API, simple and modern design. (Demo, Source Code)
AGPL-3.0
Go/Docker
- Focalboard - Define, organize, track and manage work across individuals and teams (alternative to Trello, Notion, and Asana). (Source Code, Clients)
MIT/AGPL-3.0/Apache-2.0
Nodejs/Go/Docker
- Kanboard - Simple visual task board. (Source Code)
MIT
PHP
- myTinyTodo - Simple way to manage your todo list in AJAX style. Uses PHP, jQuery, SQLite/MySQL. GTD compliant. (Demo, Source Code)
GPL-2.0
PHP
- Nullboard - Single-page minimalist kanban board; compact, highly readable and quick to use. (Demo)
BSD-2-Clause
Javascript
- Our Shopping List - Simple shared list application including shopping lists and any other small todo-list that needs to be used collaboratively. (Demo)
AGPL-3.0
Docker
- Planka - Realtime kanban board for workgroups (alternative to Trello). (Demo, Source Code)
AGPL-3.0
Nodejs/Docker/K8S
- Task Keeper - List editor for power users, backed by a self-hosted server.
Apache-2.0
Scala
- Tasks.md - A self-hosted, file based task management board that supports Markdown syntax.
MIT
Docker
- Taskwarrior - Taskwarrior is Free and Open Source Software that manages your TODO list from your command line. It is flexible, fast, efficient, and unobtrusive. It does its job then gets out of your way. (Source Code)
MIT
C++
- Tegon
⚠
- Dev-first issue tracking tool (alternative to Jira, Linear). (Source Code)AGPL-3.0
Docker
- Tracks - Web-based application to help you implement David Allen’s Getting Things Done™ methodology. (Source Code)
GPL-2.0
Ruby
- Vikunja - The to-do app to organize your life. (Demo, Source Code)
GPL-3.0
Go
- Wekan - Open-source Trello-like kanban. (Source Code)
MIT
Nodejs
- 4ga Boards - Straightforward realtime kanban boards management for intuitive task tracking. Featuring an elegant dark mode, collapsible todo lists, and multitasking tools to supercharge your team's productivity. (Demo, Source Code)
-
@ ecda4328:1278f072
2025-05-21 11:44:17An honest response to objections — and an answer to the most important question: why does any of this matter?
Last updated: May 21, 2025\ \ 📄 Document version:\ EN: https://drive.proton.me/urls/A4A8Y8A0RR#Sj2OBsBYJFr1\ RU: https://drive.proton.me/urls/GS9AS1NB30#ZdKKb5ackB5e
\ Statement: Deflation is not the enemy, but a natural state in an age of technological progress.\ Criticism: in real macroeconomics, long-term deflation is linked to depressions.\ Deflation discourages borrowers and investors, and makes debt heavier.\ Natural ≠ Safe.
1. “Deflation → Depression, Debt → Heavier”
This is true in a debt-based system. Yes, in a fiat economy, debt balloons to the sky, and without inflation it collapses.
But Bitcoin offers not “deflation for its own sake,” but an environment where you don’t need to be in debt to survive. Where savings don’t melt away.\ Jeff Booth said it clearly:
“Technology is inherently deflationary. Fighting deflation with the printing press is fighting progress.”
You don’t have to take on credit to live in this system. Which means — deflation is not an enemy, but an ally.
💡 People often confuse two concepts:
-
That deflation doesn’t work in an economy built on credit and leverage — that’s true.
-
That deflation itself is bad — that’s a myth.
📉 In reality, deflation is the natural state of a free market when technology makes everything cheaper.
Historical example:\ In the U.S., from the Civil War to the early 1900s, the economy experienced gentle deflation — alongside economic growth, employment expansion, and industrial boom.\ Prices fell: for example, a sack of flour cost \~$1.00 in 1865 and \~$0.50 in 1895 — and there was no crisis, because wages held and productivity increased.
Modern example:\ Consumer electronics over the past 20–30 years are a vivid example of technological deflation:\ – What cost $5,000 in 2000 (e.g., a 720p plasma TV) now costs $300 and delivers 10× better quality.\ – Phones, computers, cameras — all became far more powerful and cheaper at the same time.\ That’s how tech-driven deflation works: you get more for less.
📌 Bitcoin doesn’t make the world deflationary. It just doesn’t fight against deflation, unlike the fiat model that fights to preserve its debt pyramid.\ It stops punishing savers and rewards long-term thinkers.
Even economists often confuse organic tech deflation with crisis-driven (debt) deflation.
\ \ Statement: We’ve never lived in a truly free market — central banks and issuance always existed.\ Criticism: ideological statement.\ A truly “free” market is utopian.\ Banks and monetary issuance emerged in response to crises.\ A market without arbiters is not always fair, especially under imperfect competition.
2. “The Free Market Is a Utopia”
Yes, “pure markets” are rare. But what we have today isn’t regulation — it’s centralized power in the hands of central banks and cartels.
Bitcoin offers rules without rulers. 21 million. No one can change the issuance. It’s not ideology — it’s code instead of trust. And it has worked for 15 years.
💬 People often say that banks and centralized issuance emerged as a response to crises — as if the market couldn’t manage on its own.\ But if a system needs to be “rescued” again and again through money printing… maybe the problem isn’t freedom, but the system itself?
📌 Crises don’t disprove the value of free markets. They only reveal how fragile a system becomes when the price of money is set not by the market, but by a boardroom vote.\ Bitcoin doesn’t magically eliminate crises — it removes the root cause: the ability to manipulate money in someone’s interest.
\ \ Statement: Inflation is an invisible tax, especially on the poor and working class.\ Criticism: partly true: inflation can reduce debt burden, boost employment.\ The state indexes social benefits. Under stable inflation, compensators can work. Under deflation, things might be worse (mass layoffs, defaults).
3. “Inflation Can Help”
Theoretically — yes. Textbooks say moderate inflation can reduce debt burdens and stimulate consumption and jobs.\ But in practice — it works as a stealth tax, especially on those without assets. The wealthy escape — into real estate, stocks, funds.\ But the poor and working class lose purchasing power because their money is held in cash — and cash devalues.
💬 As Lyn Alden says:
“When your money can’t hold value, you’re forced to become an investor — even if you just want to save and live.”
The state may index pensions or benefits — but always with a lag, and always less than actual price increases.\ If bread rises 15% and your payment increase is 5%, you got poorer, even if the number on paper went up.
💥 We live in an inflationary system of everything:\ – Inflationary money\ – Inflationary products\ – Inflationary content\ – And now even inflationary minds
🧠 This is more than just rising prices — it’s a degradation of reality perception. You’re always rushing, everything loses meaning.\ But when did the system start working against you?
📉 What went wrong after 1971?
This chart shows that from 1948 to the early 1970s, productivity and wages grew together.\ But after the end of the gold standard in 1971 — the connection broke. Productivity kept rising, but real wages stalled.
👉 This means: you work more, better, faster — but buy less.
🔗 Source: wtfhappenedin1971.com
When you must spend today because tomorrow it’ll be worth less — that’s rewarding impulse and punishing long-term thinking.
Bitcoin offers a different environment:\ – Savings work\ – Long-term thinking is rewarded\ – The price of the future is calculated, not forced by a printing press
📌 Inflation can be a tool. But in government hands, it became a weapon — a slow, inevitable upward redistribution of wealth.
\ \ Statement: War is not growth, but a reallocation of resources into destruction.
Criticism: war can spur technological leaps (Internet, GPS, nuclear energy — all from military programs). "Military Keynesianism" was a real model.
4. “War Drives R&D”
Yes, wars sometimes give rise to tech spin-offs: Internet, GPS, nuclear power — all originated from military programs.
But that doesn’t make war a source of progress — it makes tech a byproduct of catastrophe.
“War reallocates resources toward destruction — not growth.”
Progress doesn’t happen because of war — it happens despite it.
If scientific breakthroughs require a million dead and burnt cities — maybe you’ve built your economy wrong.
💬 Even Michael Saylor said:
“If you need war to develop technology — you’ve built civilization wrong.”
No innovation justifies diverting human labor, minds, and resources toward destruction.\ War is always the opposite of efficiency — more is wasted than created.
🧠 Bitcoin, on the other hand, is an example of how real R&D happens without violence.\ No taxes. No army. Just math, voluntary participation, and open-source code.
📌 Military Keynesianism is not a model of progress — it’s a symptom of a sick monetary system that needs destruction to reboot.
Bitcoin shows that coordination without violence is possible.\ This is R&D of a new kind: based not on destruction, but digital creation.
Statement: Bitcoin isn’t “Gold 1.0,” but an improved version: divisible, verifiable, unseizable.
Criticism: Bitcoin has no physical value; "unseizability" is a theory;\ Gold is material and autonomous.
5. “Bitcoin Has No Physical Value”
And gold does? Just because it shines?
Physical form is no guarantee of value.\ Real value lies in: scarcity, reliable transfer, verifiability, and non-confiscatability.
Gold is:\ – Hard to divide\ – Hard to verify\ – Expensive to store\ – Easy to seize
💡 Bitcoin is the first store of value in history that is fully free from physical limitations, and yet:\ – Absolutely scarce (21M, forever)\ – Instantly transferable over the Internet\ – Cryptographically verifiable\ – Controlled by no government
🔑 Bitcoin’s value lies in its liberation from the physical.\ It doesn’t need to be “backed” by gold or oil. It’s backed by energy, mathematics, and ongoing verification.
“Price is what you pay, value is what you get.” — Warren Buffett
When you buy bitcoin, you’re not paying for a “token” — you’re gaining access to a network of distributed financial energy.
⚡️ What are you really getting when you own bitcoin?\ – A key to a digital asset that can’t be faked\ – The ability to send “crystallized energy” anywhere on Earth (it takes 10 minutes on the base L1 layer, or instantly via the Lightning Network)\ – A role in a new accounting system that runs 24/7/365\ – Freedom: from banks, borders, inflation, and force
📉 Bitcoin doesn’t require physical value — because it creates value:\ Through trust, scarcity, and energy invested in mining.\ And unlike gold, it was never associated with slavery.
Statement: There’s no “income without risk” in Bitcoin: just hold — you preserve; want more — invest, risk, build.
Criticism: contradicts HODL logic; speculation remains dominant behavior.
6. “Speculation Dominates”
For now — yes. That’s normal for the early phase of a new technology. Awareness doesn’t come instantly.
What matters is not the motive of today’s buyer — but what they’re buying.
📉 A speculator may come and go — but the asset remains.\ And this asset is the only one in history that will never exist again. 21 million. Forever.
📌 Look deeper. Bitcoin has:\ – No CEO\ – No central issuer\ – No inflation\ – No “off switch”\ 💡 It was fairly distributed — through mining, long before ASICs existed. In the early years, bitcoin was spent and exchanged — not hoarded. Only those who truly believed in it are still holding it today.
💡 It’s not a stock. Not a startup. Not someone’s project.\ It’s a new foundation for trust.\ It’s opting out of a system where freedom is a privilege you’re granted under conditions.
🧠 People say: “Bitcoin can be copied.”\ Theoretically — yes.\ Practically — never.
Here’s what you’d need to recreate Bitcoin:\ – No pre-mine\ – A founder who disappears and never sells\ – No foundation or corporation\ – Tens of thousands of nodes worldwide\ – 701 million terahashes of hash power\ – Thousands of devs writing open protocols\ – Hundreds of global conferences\ – Millions of people defending digital sovereignty\ – All that without a single marketing budget
That’s all.
🔁 Everything else is an imitation, not a creation.\ Just like you can’t “reinvent fire” — Bitcoin can only exist once.
Statements:\ **The Russia's '90s weren’t a free market — just anarchic chaos without rights protection.\ **Unlike fiat or even dollars, Bitcoin is the first asset with real defense — from governments, inflation, even thugs.\ *And yes, even if your barber asks about Bitcoin — maybe it's not a bubble, but a sign that inflation has already hit everyone.
Criticism: Bitcoin’s protection isn’t universal — it works only with proper handling and isn’t available to all.\ Some just want to “get rich.”\ None of this matters because:
-
Bitcoin’s volatility (-30% in a week, +50% in a month) makes it unusable for price planning or contracts.
-
It can’t handle mass-scale usage.
-
To become currency, geopolitical will is needed — and without the first two, don’t even talk about the third.\ Also: “Bitcoin is too complicated for the average person.”
7. “It’s Too Complex for the Masses”
It’s complex — if you’re using L1 (Layer 1). But even grandmas use Telegram. In El Salvador, schoolkids buy lunch with Lightning. My barber installed Wallet of Satoshi in minutes right in front of me — and I now pay for my haircut via Lightning.
UX is just a matter of time. And it’s improving. Emerging tools:\ Cashu, Fedimint, Fedi, Wallet of Satoshi, Phoenix, Proton Wallet, Swiss Bitcoin Pay, Bolt Card / CoinCorner (NFC cards for Lightning payments).
This is like the internet in 1995:\ It started with modems — now it’s 4K streaming.
💸 Now try sending a regular bank transfer abroad:\ – you need to type a long IBAN\ – add SWIFT/BIC codes\ – include the recipient’s full physical address (!), compromising their privacy\ – sometimes add extra codes or “purpose of payment”\ – you might get a call from your bank “just to confirm”\ – no way to check the status — the money floats somewhere between correspondent/intermediary banks\ – weekends or holidays? Banks are closed\ – and don’t forget the limits, restrictions, and potential freezes
📌 With Bitcoin, you just scan a QR code and send.\ 10 minutes on-chain = final settlement.\ Via Lightning = instant and nearly free.\ No bureaucracy. No permission. No borders.
8. “Can’t Handle the Load”
A common myth.\ Yes, Bitcoin L1 processes about 7 transactions per second — intentionally. It’s not built to be Visa. It’s a financial protocol, just like TCP/IP is a network protocol. TCP/IP isn’t “fast” or “slow” — the experience depends on the infrastructure built on top: servers, routers, hardware. In the ’90s, it delivered text. Today, it streams Netflix. The protocol didn’t change — the stack did.
Same with Bitcoin: L1 defines rules, security, finality.\ Scaling and speed? That’s the second layer’s job.
To understand scale:
| Network | TPS (Transactions/sec) | | --- | --- | | Visa | up to 24,000 | | Mastercard | \~5,000 | | PayPal | \~193 | | Litecoin | \~56 | | Ethereum | \~20 | | Bitcoin | \~7 |
\ ⚡️ Enter Lightning Network — Bitcoin’s “fast lane.”\ It allows millions of transactions per second, instantly and nearly free.
And it’s not a sidechain.
❗️ Lightning is not a separate network.\ It uses real Bitcoin transactions (2-of-2 multisig). You can close the channel to L1 at any time. It’s not an alternative — it’s a native extension built into Bitcoin.\ Also evolving: Ark, Fedimint, eCash — new ways to scale and add privacy.
📉 So criticizing Bitcoin for “slowness” is like blaming TCP/IP because your old modem won’t stream YouTube.\ The protocol isn’t the problem — it’s the infrastructure.
🛡️ And by the way: Visa crashes more often than Bitcoin.
9. “We Need Geopolitical Will”
Not necessarily. All it takes is the will of the people — and leaders willing to act. El Salvador didn’t wait for G20 approval or IMF blessings. Since 2001, the country had used the US dollar as its official currency, abandoning its own colón. But that didn’t save it from inflation or dependency on foreign monetary policy. In 2021, El Salvador became the first country to recognize Bitcoin as legal tender. Since March 13, 2024, they’ve been purchasing 1 BTC daily, tracked through their public address:
🔗 Address\ 📅 First transaction
This policy became the foundation of their Strategic Bitcoin Reserve (SBR) — a state-led effort to accumulate Bitcoin as a national reserve asset for long-term stability and sovereignty.
Their example inspired others.
In March 2025, U.S. President Donald Trump signed an executive order creating the Strategic Bitcoin Reserve of the USA, to be funded through confiscated Bitcoin and digital assets.\ The idea: accumulate, don’t sell, and strategically expand the reserve — without extra burden on taxpayers.
Additionally, Senator Cynthia Lummis (Wyoming) proposed the BITCOIN Act, targeting the purchase of 1 million BTC over five years (\~5% of the total supply).\ The plan: fund it via revaluation of gold certificates and other budget-neutral strategies.
📚 More: Strategic Bitcoin Reserve — Wikipedia
👉 So no global consensus is required. No IMF greenlight.\ All it takes is conviction — and an understanding that the future of finance lies in decentralized, scarce assets like Bitcoin.
10. “-30% in a week, +50% in a month = not money”
True — Bitcoin is volatile. But that’s normal for new technologies and emerging money. It’s not a bug — it’s a price discovery phase. The world is still learning what this asset is.
📉 Volatility is the price of entry.\ 📈 But the reward is buying the future at a discount.
As Michael Saylor put it:
“A tourist sees Niagara Falls as chaos — roaring, foaming, spraying water.\ An engineer sees immense energy.\ It all depends on your mental model.”
Same with Bitcoin. Speculators see chaos. Investors see structural scarcity. Builders see a new financial foundation.
💡 Now consider gold:
👉 After the gold standard was abandoned in 1971, the price of gold skyrocketed from around \~$300 to over $2,700 (adjusted to 2023 dollars) by 1980. Along the way, it experienced extreme volatility — with crashes of 40–60% even amid the broader uptrend.\ 💡 (\~$300 is the inflation-adjusted equivalent of about $38 in 1971 dollars)\ 📈 Source: Gold Price Chart — Macrotrends\ \ Nobody said, “This can’t be money.” \ Because money is defined not by volatility, but by scarcity, adoption, and trust — which build over time.
📊 The more people save in Bitcoin, the more its volatility fades.
This is a journey — not a fixed state.
We don’t judge the internet by how it worked in 1994.\ So why expect Bitcoin to be the “perfect currency” in 2025?
It grows bottom-up — without regulators’ permission.\ And the longer it survives, the stronger it becomes.
Remember how many times it’s been declared dead.\ And how many times it came back — stronger.
📊 Gold vs. Bitcoin: Supply Comparison
This chart shows the key difference between the two hard assets:
🔹 Gold — supply keeps growing.\ Mining may be limited, but it’s still inflationary.\ Each year, there’s more — with no known cap: new mines, asteroid mining, recycling.
🔸 Bitcoin — capped at 21 million.\ The emission schedule is public, mathematically predictable, and ends completely around 2140.
🧠 Bottom line:\ Gold is good.\ Bitcoin is better — for predictability and scarcity.
💡 As Saifedean Ammous said:
“Gold was the best monetary good… until Bitcoin.”
### While we argue — fiat erodes every day.
No matter your view on Bitcoin, just show me one other asset that is simultaneously:
– immune to devaluation by decree\ – impossible to print more of\ – impossible to confiscate by a centralized order\ – impossible to counterfeit\ – and, most importantly — transferable across borders without asking permission from a bank, a state, or a passport
💸 Try sending $10,000 through PayPal from Iran to Paraguay, or Bangladesh to Saint Lucia.\ Good luck. PayPal doesn't even work there.
Now open a laptop, type 12 words — and you have access to your savings anywhere on Earth.
🌍 Bitcoin doesn't ask for permission.\ It works for everyone, everywhere, all the time.
📌 There has never been anything like this before.
Bitcoin is the first asset in history that combines:
– digital nature\ – predictable scarcity\ – absolute portability\ – and immunity from tyranny
💡 As Michael Saylor said:
“Bitcoin is the first money in human history not created by bankers or politicians — but by engineers.”
You can own it with no bank.\ No intermediary.\ No passport.\ No approval.
That’s why Bitcoin isn’t just “internet money” or “crypto” or “digital gold.”\ It may not be perfect — but it’s incorruptible.\ And it’s not going away.\ It’s already here.\ It is the foundation of a new financial reality.
🔒 This is not speculation. This is a peaceful financial revolution.\ 🪙 This is not a stock. It’s money — like the world has never seen.\ ⛓️ This is not a fad. It’s a freedom protocol.
And when even the barber starts asking about Bitcoin — it’s not a bubble.\ It’s a sign that the system is breaking.\ And people are looking for an exit.
For the first time — they have one.
💼 This is not about investing. It’s about the dignity of work.
Imagine a man who cleans toilets at an airport every day.
Not a “prestigious” job.\ But a crucial one.\ Without him — filth, bacteria, disease.
He shows up on time. He works with his hands.
And his money? It devalues. Every day.
He doesn’t work less — often he works more than those in suits.\ But he can afford less and less — because in this system, honest labor loses value each year.
Now imagine he’s paid in Bitcoin.
Not in some “volatile coin,” but in hard money — with a limited supply.\ Money that can’t be printed, reversed, or devalued by central banks.
💡 Then he could:
– Stop rushing to spend, knowing his labor won’t be worth less tomorrow\ – Save for a dream — without fear of inflation eating it away\ – Feel that his time and effort are respected — because they retain value
Bitcoin gives anyone — engineer or janitor — a way out of the game rigged against them.\ A chance to finally build a future where savings are real.
This is economic justice.\ This is digital dignity.
📉 In fiat, you have to spend — or your money melts.\ 📈 In Bitcoin, you choose when to spend — because it’s up to you.
🧠 In a deflationary economy, both saving and spending are healthy:
You don’t scramble to survive — you choose to create.
🎯 That’s true freedom.
When even someone cleaning floors can live without fear —\ and know that their time doesn’t vanish... it turns into value.
🧱 The Bigger Picture
Bitcoin is not just a technology — it’s rooted in economic philosophy.\ The Austrian School of Economics has long argued that sound money, voluntary exchange, and decentralized decision-making are prerequisites for real prosperity.\ Bitcoin doesn’t reinvent these ideas — it makes them executable.
📉 Inflation doesn’t just erode savings.\ It quietly destroys quality of life.\ You work more — and everything becomes worse:\ – food is cheaper but less nutritious\ – homes are newer but uglier and less durable\ – clothes cost more but fall apart in months\ – streaming is faster, but your attention span collapses\ This isn’t just consumerism — it’s the economics of planned obsolescence.
🧨 Meanwhile, the U.S. debt has exceeded 3x its GDP.\ And nobody wants to buy U.S. bonds anymore — so the U.S. has to buy its own debt.\ Yes: printing money to buy the IOUs you just printed.\ This is the endgame of fiat.
🎭 Bonds are often sold as “safe.”\ But in practice, they are a weapon — especially abroad.\ The U.S. and IMF give loans to developing countries.\ But when those countries can’t repay (due to rigged terms or global economic headwinds), they’re forced to sell land, resources, or strategic assets.\ Both sides lose: the debtor collapses under the weight of debt, while the creditor earns resentment and instability.\ This isn’t cooperation — it’s soft colonialism enabled by inflation.
📌 Bitcoin offers a peaceful exit.\ A financial system where money can’t be created out of thin air.\ Where savings work.\ Where dignity is restored — even for those who clean toilets.
-
-
@ b0a838f2:34ed3f19
2025-05-23 18:09:15- cState - Static status page for hyperfast Hugo. Clean design, minimal JS, super light HTML/CSS, high customization, optional admin panel, read-only API, IE8+. Best used with Netlify, Docker. (Demo, Source Code)
MIT
Go
- Gatus - Automated service health dashboard. (Demo, Source Code)
Apache-2.0
Docker/K8S
- kener - Status page with incident management, easy to use and customize. (Demo, Source Code)
MIT
Nodejs/Docker
- StatPing.ng - An easy to use Status Page for your websites and applications. Statping will automatically fetch the application and render a beautiful status page with tons of features for you to build an even better status page. (Source Code)
GPL-3.0
Docker/Go
- Uptime Kuma - Self-hosted website monitoring tool like "Uptime Robot". (Demo, Source Code)
MIT
Docker/Nodejs
- cState - Static status page for hyperfast Hugo. Clean design, minimal JS, super light HTML/CSS, high customization, optional admin panel, read-only API, IE8+. Best used with Netlify, Docker. (Demo, Source Code)
-
@ fa984bd7:58018f52
2025-05-21 09:51:34This post has been deleted.
-
@ 04c915da:3dfbecc9
2025-05-20 15:47:16Here’s a revised timeline of macro-level events from The Mandibles: A Family, 2029–2047 by Lionel Shriver, reimagined in a world where Bitcoin is adopted as a widely accepted form of money, altering the original narrative’s assumptions about currency collapse and economic control. In Shriver’s original story, the failure of Bitcoin is assumed amid the dominance of the bancor and the dollar’s collapse. Here, Bitcoin’s success reshapes the economic and societal trajectory, decentralizing power and challenging state-driven outcomes.
Part One: 2029–2032
-
2029 (Early Year)\ The United States faces economic strain as the dollar weakens against global shifts. However, Bitcoin, having gained traction emerges as a viable alternative. Unlike the original timeline, the bancor—a supranational currency backed by a coalition of nations—struggles to gain footing as Bitcoin’s decentralized adoption grows among individuals and businesses worldwide, undermining both the dollar and the bancor.
-
2029 (Mid-Year: The Great Renunciation)\ Treasury bonds lose value, and the government bans Bitcoin, labeling it a threat to sovereignty (mirroring the original bancor ban). However, a Bitcoin ban proves unenforceable—its decentralized nature thwarts confiscation efforts, unlike gold in the original story. Hyperinflation hits the dollar as the U.S. prints money, but Bitcoin’s fixed supply shields adopters from currency devaluation, creating a dual-economy split: dollar users suffer, while Bitcoin users thrive.
-
2029 (Late Year)\ Dollar-based inflation soars, emptying stores of goods priced in fiat currency. Meanwhile, Bitcoin transactions flourish in underground and online markets, stabilizing trade for those plugged into the bitcoin ecosystem. Traditional supply chains falter, but peer-to-peer Bitcoin networks enable local and international exchange, reducing scarcity for early adopters. The government’s gold confiscation fails to bolster the dollar, as Bitcoin’s rise renders gold less relevant.
-
2030–2031\ Crime spikes in dollar-dependent urban areas, but Bitcoin-friendly regions see less chaos, as digital wallets and smart contracts facilitate secure trade. The U.S. government doubles down on surveillance to crack down on bitcoin use. A cultural divide deepens: centralized authority weakens in Bitcoin-adopting communities, while dollar zones descend into lawlessness.
-
2032\ By this point, Bitcoin is de facto legal tender in parts of the U.S. and globally, especially in tech-savvy or libertarian-leaning regions. The federal government’s grip slips as tax collection in dollars plummets—Bitcoin’s traceability is low, and citizens evade fiat-based levies. Rural and urban Bitcoin hubs emerge, while the dollar economy remains fractured.
Time Jump: 2032–2047
- Over 15 years, Bitcoin solidifies as a global reserve currency, eroding centralized control. The U.S. government adapts, grudgingly integrating bitcoin into policy, though regional autonomy grows as Bitcoin empowers local economies.
Part Two: 2047
-
2047 (Early Year)\ The U.S. is a hybrid state: Bitcoin is legal tender alongside a diminished dollar. Taxes are lower, collected in BTC, reducing federal overreach. Bitcoin’s adoption has decentralized power nationwide. The bancor has faded, unable to compete with Bitcoin’s grassroots momentum.
-
2047 (Mid-Year)\ Travel and trade flow freely in Bitcoin zones, with no restrictive checkpoints. The dollar economy lingers in poorer areas, marked by decay, but Bitcoin’s dominance lifts overall prosperity, as its deflationary nature incentivizes saving and investment over consumption. Global supply chains rebound, powered by bitcoin enabled efficiency.
-
2047 (Late Year)\ The U.S. is a patchwork of semi-autonomous zones, united by Bitcoin’s universal acceptance rather than federal control. Resource scarcity persists due to past disruptions, but economic stability is higher than in Shriver’s original dystopia—Bitcoin’s success prevents the authoritarian slide, fostering a freer, if imperfect, society.
Key Differences
- Currency Dynamics: Bitcoin’s triumph prevents the bancor’s dominance and mitigates hyperinflation’s worst effects, offering a lifeline outside state control.
- Government Power: Centralized authority weakens as Bitcoin evades bans and taxation, shifting power to individuals and communities.
- Societal Outcome: Instead of a surveillance state, 2047 sees a decentralized, bitcoin driven world—less oppressive, though still stratified between Bitcoin haves and have-nots.
This reimagining assumes Bitcoin overcomes Shriver’s implied skepticism to become a robust, adopted currency by 2029, fundamentally altering the novel’s bleak trajectory.
-
-
@ b0a838f2:34ed3f19
2025-05-23 18:09:00- Bencher - Suite of continuous benchmarking tools designed to catch performance regressions in CI. (Source Code)
MIT/Apache-2.0
Rust
- WebHook Tester - Powerful tool for testing WebHooks and more.
MIT
Docker/Go/deb/K8S
- Bencher - Suite of continuous benchmarking tools designed to catch performance regressions in CI. (Source Code)
-
@ b83a28b7:35919450
2025-05-16 19:26:56This article was originally part of the sermon of Plebchain Radio Episode 111 (May 2, 2025) that nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqyg8wumn8ghj7mn0wd68ytnvv9hxgqpqtvqc82mv8cezhax5r34n4muc2c4pgjz8kaye2smj032nngg52clq7fgefr and I did with nostr:nprofile1qythwumn8ghj7ct5d3shxtnwdaehgu3wd3skuep0qyt8wumn8ghj7ct4w35zumn0wd68yvfwvdhk6tcqyzx4h2fv3n9r6hrnjtcrjw43t0g0cmmrgvjmg525rc8hexkxc0kd2rhtk62 and nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqyg8wumn8ghj7mn0wd68ytnvv9hxgqpq4wxtsrj7g2jugh70pfkzjln43vgn4p7655pgky9j9w9d75u465pqahkzd0 of the nostr:nprofile1qythwumn8ghj7ct5d3shxtnwdaehgu3wd3skuep0qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcqyqwfvwrccp4j2xsuuvkwg0y6a20637t6f4cc5zzjkx030dkztt7t5hydajn
Listen to the full episode here:
<<https://fountain.fm/episode/Ln9Ej0zCZ5dEwfo8w2Ho>>
Bitcoin has always been a narrative revolution disguised as code. White paper, cypherpunk lore, pizza‑day legends - every block is a paragraph in the world’s most relentless epic. But code alone rarely converts the skeptic; it’s the camp‑fire myth that slips past the prefrontal cortex and shakes hands with the limbic system. People don’t adopt protocols first - they fall in love with protagonists.
Early adopters heard the white‑paper hymn, but most folks need characters first: a pizza‑day dreamer; a mother in a small country, crushed by the cost of remittance; a Warsaw street vendor swapping złoty for sats. When their arcs land, the brain releases a neurochemical OP_RETURN which says, “I belong in this plot.” That’s the sly roundabout orange pill: conviction smuggled inside catharsis.
That’s why, from 22–25 May in Warsaw’s Kinoteka, the Bitcoin Film Fest is loading its reels with rebellion. Each documentary, drama, and animated rabbit‑hole is a stealth wallet, zipping conviction straight into the feels of anyone still clasped within the cold claw of fiat. You come for the plot, you leave checking block heights.
Here's the clip of the sermon from the episode:
nostr:nevent1qvzqqqqqqypzpwp69zm7fewjp0vkp306adnzt7249ytxhz7mq3w5yc629u6er9zsqqsy43fwz8es2wnn65rh0udc05tumdnx5xagvzd88ptncspmesdqhygcrvpf2
-
@ 7460b7fd:4fc4e74b
2025-05-21 02:35:36如果比特币发明了真正的钱,那么 Crypto 是什么?
引言
比特币诞生之初就以“数字黄金”姿态示人,被支持者誉为人类历史上第一次发明了真正意义上的钱——一种不依赖国家信用、总量恒定且不可篡改的硬通货。然而十多年过去,比特币之后蓬勃而起的加密世界(Crypto)已经远超“货币”范畴:从智能合约平台到去中心组织,从去央行的稳定币到戏谑荒诞的迷因币,Crypto 演化出一个丰富而混沌的新生态。这不禁引发一个根本性的追问:如果说比特币解决了“真金白银”的问题,那么 Crypto 又完成了什么发明?
Crypto 与政治的碰撞:随着Crypto版图扩张,全球政治势力也被裹挟进这场金融变革洪流(示意图)。比特币的出现重塑了货币信用,但Crypto所引发的却是一场更深刻的政治与治理结构实验。从华尔街到华盛顿,从散户论坛到主权国家,越来越多人意识到:Crypto不只是技术或金融现象,而是一种全新的政治表达结构正在萌芽。正如有激进论者所断言的:“比特币发明了真正的钱,而Crypto则在发明新的政治。”价格K线与流动性曲线,或许正成为这个时代社群意志和社会价值观的新型投射。
冲突结构:当价格挑战选票
传统政治中,选票是人民意志的载体,一人一票勾勒出民主治理的正统路径。而在链上的加密世界里,骤升骤降的价格曲线和真金白银的买卖行为却扮演起了选票的角色:资金流向成了民意走向,市场多空成为立场表决。价格行为取代选票,这听来匪夷所思,却已在Crypto社群中成为日常现实。每一次代币的抛售与追高,都是社区对项目决策的即时“投票”;每一根K线的涨跌,都折射出社区意志的赞同或抗议。市场行为本身承担了决策权与象征权——价格即政治,正在链上蔓延。
这一新生政治形式与旧世界的民主机制形成了鲜明冲突。bitcoin.org中本聪在比特币白皮书中提出“一CPU一票”的工作量证明共识,用算力投票取代了人为决策bitcoin.org。而今,Crypto更进一步,用资本市场的涨跌来取代传统政治的选举。支持某项目?直接购入其代币推高市值;反对某提案?用脚投票抛售资产。相比漫长的选举周期和层层代议制,链上市场提供了近乎实时的“公投”机制。但这种机制也引发巨大争议:资本的投票天然偏向持币多者(富者)的意志,是否意味着加密政治更为金权而非民权?持币多寡成为影响力大小,仿佛选举演变成了“一币一票”,巨鲸富豪俨然掌握更多话语权。这种与民主平等原则的冲突,成为Crypto政治形式饱受质疑的核心张力之一。
尽管如此,我们已经目睹市场投票在Crypto世界塑造秩序的威力:2016年以太坊因DAO事件分叉时,社区以真金白银“投票”决定了哪条链获得未来。arkhamintelligence.com结果是新链以太坊(ETH)成为主流,其市值一度超过2,800亿美元,而坚持原则的以太经典(ETC)市值不足35亿美元,不及前者的八十分之一arkhamintelligence.com。市场选择清楚地昭示了社区的政治意志。同样地,在比特币扩容之争、各类硬分叉博弈中,无不是由投资者和矿工用资金与算力投票,胜者存续败者黯然。价格成为裁决纷争的最终选票,冲击着传统“选票决胜”的政治理念。Crypto的价格民主,与现代代议民主正面相撞,激起当代政治哲思中前所未有的冲突火花。
治理与分配
XRP对决SEC成为了加密世界“治理与分配”冲突的经典战例。2020年底,美国证券交易委员会(SEC)突然起诉Ripple公司,指控其发行的XRP代币属于未注册证券,消息一出直接引爆市场恐慌。XRP价格应声暴跌,一度跌去超过60%,最低触及0.21美元coindesk.com。曾经位居市值前三的XRP险些被打入谷底,监管的强硬姿态似乎要将这个项目彻底扼杀。
然而XRP社区没有选择沉默。 大批长期持有者组成了自称“XRP军团”(XRP Army)的草根力量,在社交媒体上高调声援Ripple,对抗监管威胁。面对SEC的指控,他们集体发声,质疑政府选择性执法,声称以太坊当年发行却“逍遥法外”,只有Ripple遭到不公对待coindesk.com。正如《福布斯》的评论所言:没人预料到愤怒的加密散户投资者会掀起法律、政治和社交媒体领域的‘海啸式’反击,痛斥监管机构背弃了保护投资者的承诺crypto-law.us。这种草根抵抗监管的话语体系迅速形成:XRP持有者不但在网上掀起舆论风暴,还采取实际行动向SEC施压。他们发起了请愿,抨击SEC背离保护投资者初衷、诉讼给个人投资者带来巨大伤害,号召停止对Ripple的上诉纠缠——号称这是在捍卫全球加密用户的共同利益bitget.com。一场由民间主导的反监管运动就此拉开帷幕。
Ripple公司则选择背水一战,拒绝和解,在法庭上与SEC针锋相对地鏖战了近三年之久。Ripple坚称XRP并非证券,不应受到SEC管辖,即使面临沉重法律费用和业务压力也不妥协。2023年,这场持久战迎来了标志性转折:美国法庭作出初步裁决,认定XRP在二级市场的流通不构成证券coindesk.com。这一胜利犹如给沉寂已久的XRP注入强心针——消息公布当天XRP价格飙涨近一倍,盘中一度逼近1美元大关coindesk.com。沉重监管阴影下苟延残喘的项目,凭借司法层面的突破瞬间重获生机。这不仅是Ripple的胜利,更被支持者视为整个加密行业对SEC强权的一次胜仗。
XRP的对抗路线与某些“主动合规”的项目形成了鲜明对比。 稳定币USDC的发行方Circle、美国最大合规交易所Coinbase等选择了一条迎合监管的道路:它们高调拥抱现行法规,希望以合作换取生存空间。然而现实却给了它们沉重一击。USDC稳定币在监管风波中一度失去美元锚定,哪怕Circle及时披露储备状况也无法阻止恐慌蔓延,大批用户迅速失去信心,短时间内出现数十亿美元的赎回潮blockworks.co。Coinbase则更为直接:即便它早已注册上市、反复向监管示好,2023年仍被SEC指控为未注册证券交易所reuters.com,卷入漫长诉讼漩涡。可见,在迎合监管的策略下,这些机构非但未能换来监管青睐,反而因官司缠身或用户流失而丧失市场信任。 相比之下,XRP以对抗求生存的路线反而赢得了投资者的眼光:价格的涨跌成为社区投票的方式,抗争的勇气反过来强化了市场对它的信心。
同样引人深思的是另一种迥异的治理路径:技术至上的链上治理。 以MakerDAO为代表的去中心化治理模式曾被寄予厚望——MKR持币者投票决策、算法维持稳定币Dai的价值,被视为“代码即法律”的典范。然而,这套纯技术治理在市场层面却未能形成广泛认同,亦无法激发群体性的情绪动员。复杂晦涩的机制使得普通投资者难以参与其中,MakerDAO的治理讨论更多停留在极客圈子内部,在社会大众的政治对话中几乎听不见它的声音。相比XRP对抗监管所激发的铺天盖地关注,MakerDAO的治理实验显得默默无闻、难以“出圈”。这也说明,如果一种治理实践无法连接更广泛的利益诉求和情感共鸣,它在社会政治层面就难以形成影响力。
XRP之争的政治象征意义由此凸显: 它展示了一条“以市场对抗国家”的斗争路线,即通过代币价格的集体行动来回应监管权力的施压。在这场轰动业界的对决中,价格即是抗议的旗帜,涨跌映射着政治立场。XRP对SEC的胜利被视作加密世界向旧有权力宣告的一次胜利:资本市场的投票器可以撼动监管者的强权。这种“价格即政治”的张力,正是Crypto世界前所未有的社会实验:去中心化社区以市场行为直接对抗国家权力,在无形的价格曲线中凝聚起政治抗争的力量,向世人昭示加密货币不仅有技术和资本属性,更蕴含着不可小觑的社会能量和政治意涵。
不可归零的政治资本
Meme 币的本质并非廉价或易造,而在于其构建了一种“无法归零”的社群生存结构。 对于传统观点而言,多数 meme 币只是短命的投机游戏:价格暴涨暴跌后一地鸡毛,创始人套现跑路,投资者血本无归,然后“大家转去炒下一个”theguardian.com。然而,meme 币社群的独特之处在于——失败并不意味着终结,而更像是运动的逗号而非句号。一次币值崩盘后,持币的草根们往往并未散去;相反,他们汲取教训,准备东山再起。这种近乎“不死鸟”的循环,使得 meme 币运动呈现出一种数字政治循环的特质:价格可以归零,但社群的政治热情和组织势能不归零。正如研究者所指出的,加密领域中的骗局、崩盘等冲击并不会摧毁生态,反而成为让系统更加强韧的“健康应激”,令整个行业在动荡中变得更加反脆弱cointelegraph.com。对应到 meme 币,每一次暴跌和重挫,都是社群自我进化、卷土重来的契机。这个去中心化群体打造出一种自组织的安全垫,失败者得以在瓦砾上重建家园。对于草根社群、少数派乃至体制的“失败者”而言,meme 币提供了一个永不落幕的抗争舞台,一种真正反脆弱的政治性。正因如此,我们看到诸多曾被嘲笑的迷因项目屡败屡战:例如 Dogecoin 自2013年问世后历经八年沉浮,早已超越玩笑属性,成为互联网史上最具韧性的迷因之一frontiersin.org;支撑 Dogecoin 的正是背后强大的迷因文化和社区意志,它如同美国霸权支撑美元一样,为狗狗币提供了“永不中断”的生命力frontiersin.org。
“复活权”的数字政治意涵
这种“失败-重生”的循环结构蕴含着深刻的政治意涵:在传统政治和商业领域,一个政党选举失利或一家公司破产往往意味着清零出局,资源散尽、组织瓦解。然而在 meme 币的世界,社群拥有了一种前所未有的“复活权”。当项目崩盘,社区并不必然随之消亡,而是可以凭借剩余的人心和热情卷土重来——哪怕换一个 token 名称,哪怕重启一条链,运动依然延续。正如 Cheems 项目的核心开发者所言,在几乎无人问津、技术受阻的困境下,大多数人可能早已卷款走人,但 “CHEEMS 社区没有放弃,背景、技术、风投都不重要,重要的是永不言弃的精神”cointelegraph.com。这种精神使得Cheems项目起死回生,社区成员齐声宣告“我们都是 CHEEMS”,共同书写历史cointelegraph.com。与传统依赖风投和公司输血的项目不同,Cheems 完全依靠社区的信念与韧性存续发展,体现了去中心化运动的真谛cointelegraph.com。这意味着政治参与的门槛被大大降低:哪怕没有金主和官方背书,草根也能凭借群体意志赋予某个代币新的生命。对于身处社会边缘的群体来说,meme 币俨然成为自组织的安全垫和重新集结的工具。难怪有学者指出,近期涌入meme币浪潮的主力,正是那些对现实失望但渴望改变命运的年轻人theguardian.com——“迷茫的年轻人,想要一夜暴富”theguardian.com。meme币的炒作表面上看是投机赌博,但背后蕴含的是草根对既有金融秩序的不满与反抗:没有监管和护栏又如何?一次失败算不得什么,社区自有后路和新方案。这种由底层群众不断试错、纠错并重启的过程,本身就是一种数字时代的新型反抗运动和群众动员机制。
举例而言,Terra Luna 的沉浮充分展现了这种“复活机制”的政治力量。作为一度由风投资本热捧的项目,Luna 币在2022年的崩溃本可被视作“归零”的失败典范——稳定币UST瞬间失锚,Luna币价归零,数十亿美元灰飞烟灭。然而“崩盘”并没有画下休止符。Luna的残余社区拒绝承认失败命运,通过链上治理投票毅然启动新链,“复活”了 Luna 代币,再次回到市场交易reuters.com。正如 Terra 官方在崩盘后发布的推文所宣称:“我们力量永在社区,今日的决定正彰显了我们的韧性”reuters.com。事实上,原链更名为 Luna Classic 后,大批所谓“LUNC 军团”的散户依然死守阵地,誓言不离不弃;他们自发烧毁巨量代币以缩减供应、推动技术升级,试图让这个一度归零的项目重新燃起生命之火binance.com。失败者并未散场,而是化作一股草根洪流,奋力托举起项目的残迹。经过迷因化的叙事重塑,这场从废墟中重建价值的壮举,成为加密世界中草根政治的经典一幕。类似的案例不胜枚举:曾经被视为笑话的 DOGE(狗狗币)正因多年社群的凝聚而跻身主流币种,总市值一度高达数百亿美元,充分证明了“民有民享”的迷因货币同样可以笑傲市场frontiersin.org。再看最新的美国政治舞台,连总统特朗普也推出了自己的 meme 币 $TRUMP,号召粉丝拿真金白银来表达支持。该币首日即从7美元暴涨至75美元,两天后虽回落到40美元左右,但几乎同时,第一夫人 Melania 又发布了自己的 $Melania 币,甚至连就职典礼的牧师都跟风发行了纪念币theguardian.com!显然,对于狂热的群众来说,一个币的沉浮并非终点,而更像是运动的换挡——资本市场成为政治参与的新前线,你方唱罢我登场,meme 币的群众动员热度丝毫不减。值得注意的是,2024年出现的 Pump.fun 等平台更是进一步降低了这一循环的技术门槛,任何人都可以一键生成自己的 meme 币theguardian.com。这意味着哪怕某个项目归零,剩余的社区完全可以借助此类工具迅速复制一个新币接力,延续集体行动的火种。可以说,在 meme 币的世界里,草根社群获得了前所未有的再生能力和主动权,这正是一种数字时代的群众政治奇观:失败可以被当作梗来玩,破产能够变成重生的序章。
价格即政治:群众投机的新抗争
meme 币现象的兴盛表明:在加密时代,价格本身已成为一种政治表达。这些看似荒诞的迷因代币,将金融市场变成了群众宣泄情绪和诉求的另一个舞台。有学者将此概括为“将公民参与直接转化为了投机资产”cdn-brighterworld.humanities.mcmaster.ca——也就是说,社会运动的热情被注入币价涨跌,政治支持被铸造成可以交易的代币。meme 币融合了金融、技术与政治,通过病毒般的迷因文化激发公众参与,形成对现实政治的某种映射cdn-brighterworld.humanities.mcmaster.caosl.com。当一群草根投入全部热忱去炒作一枚毫无基本面支撑的币时,这本身就是一种大众政治动员的体现:币价暴涨,意味着一群人以戏谑的方式在向既有权威叫板;币价崩盘,也并不意味着信念的消亡,反而可能孕育下一次更汹涌的造势。正如有分析指出,政治类 meme 币的出现前所未有地将群众文化与政治情绪融入市场行情,价格曲线俨然成为民意和趋势的风向标cdn-brighterworld.humanities.mcmaster.ca。在这种局面下,投机不再仅仅是逐利,还是一种宣示立场、凝聚共识的过程——一次次看似荒唐的炒作背后,是草根对传统体制的不服与嘲讽,是失败者拒绝认输的呐喊。归根结底,meme 币所累积的,正是一种不可被归零的政治资本。价格涨落之间,群众的愤怒、幽默与希望尽显其中;这股力量不因一次挫败而消散,反而在市场的循环中愈发壮大。也正因如此,我们才说“价格即政治”——在迷因币的世界里,价格不只是数字,更是人民政治能量的晴雨表,哪怕归零也终将卷土重来。cdn-brighterworld.humanities.mcmaster.caosl.com
全球新兴现象:伊斯兰金融的入场
当Crypto在西方世界掀起市场治政的狂潮时,另一股独特力量也悄然融入这一场域:伊斯兰金融携其独特的道德秩序,开始在链上寻找存在感。长期以来,伊斯兰金融遵循着一套区别于世俗资本主义的原则:禁止利息(Riba)、反对过度投机(Gharar/Maysir)、强调实际资产支撑和道德投资。当这些原则遇上去中心化的加密技术,会碰撞出怎样的火花?出人意料的是,这两者竟在“以市场行为表达价值”这个层面产生了惊人的共鸣。伊斯兰金融并不拒绝市场机制本身,只是为其附加了道德准则;Crypto则将市场机制推向了政治高位,用价格来表达社群意志。二者看似理念迥异,实则都承认市场行为可以也应当承载社会价值观。这使得越来越多金融与政治分析人士开始关注:当虔诚的宗教伦理遇上狂野的加密市场,会塑造出何种新范式?
事实上,穆斯林世界已经在探索“清真加密”的道路。一些区块链项目致力于确保协议符合伊斯兰教法(Sharia)的要求。例如Haqq区块链发行的伊斯兰币(ISLM),从规则层面内置了宗教慈善义务——每发行新币即自动将10%拨入慈善DAO,用于公益捐赠,以符合天课(Zakat)的教义nasdaq.comnasdaq.com。同时,该链拒绝利息和赌博类应用,2022年还获得了宗教权威的教令(Fatwa)认可其合规性nasdaq.com。再看理念层面,伊斯兰经济学强调货币必须有内在价值、收益应来自真实劳动而非纯利息剥削。这一点与比特币的“工作量证明”精神不谋而合——有人甚至断言法定货币无锚印钞并不清真,而比特币这类需耗费能源生产的资产反而更符合教法初衷cointelegraph.com。由此,越来越多穆斯林投资者开始以道德投资的名义进入Crypto领域,将资金投向符合清真原则的代币和协议。
这种现象带来了微妙的双重合法性:一方面,Crypto世界原本奉行“价格即真理”的世俗逻辑,而伊斯兰金融为其注入了一股道德合法性,使部分加密资产同时获得了宗教与市场的双重背书;另一方面,即便在遵循宗教伦理的项目中,最终决定成败的依然是市场对其价值的认可。道德共识与市场共识在链上交汇,共同塑造出一种混合的新秩序。这一全球新兴现象引发广泛议论:有人将其视为金融民主化的极致表现——不同文化价值都能在市场平台上表达并竞争;也有人警惕这可能掩盖新的风险,因为把宗教情感融入高风险资产,既可能凝聚强大的忠诚度,也可能在泡沫破裂时引发信仰与财富的双重危机。但无论如何,伊斯兰金融的入场使Crypto的政治版图更加丰盈多元。从华尔街交易员到中东教士,不同背景的人们正通过Crypto这个奇特的舞台,对人类价值的表达方式进行前所未有的实验。
升华结语:价格即政治的新直觉
回顾比特币问世以来的这段历程,我们可以清晰地看到一条演进的主线:先有货币革命,后有政治发明。比特币赋予了人类一种真正自主的数字货币,而Crypto在此基础上完成的,则是一项前所未有的政治革新——它让市场价格行为承担起了类似政治选票的功能,开创了一种“价格即政治”的新直觉。在这个直觉下,市场不再只是冷冰冰的交易场所;每一次资本流动、每一轮行情涨落,都被赋予了社会意义和政治涵义。买入即表态,卖出即抗议,流动性的涌入或枯竭胜过千言万语的陈情。Crypto世界中,K线图俨然成为民意曲线,行情图就是政治晴雨表。决策不再由少数权力精英关起门来制定,而是在全球无眠的交易中由无数普通人共同谱写。这样的政治形式也许狂野,也许充满泡沫和噪音,但它不可否认地调动起了广泛的社会参与,让原本疏离政治进程的个体通过持币、交易重新找回了影响力的幻觉或实感。
“价格即政治”并非一句简单的口号,而是Crypto给予世界的全新想象力。它质疑了传统政治的正统性:如果一串代码和一群匿名投资者就能高效决策资源分配,我们为何还需要繁冗的官僚体系?它也拷问着自身的内在隐忧:当财富与权力深度绑定,Crypto政治如何避免堕入金钱统治的老路?或许,正是在这样的矛盾和张力中,人类政治的未来才会不断演化。Crypto所开启的,不仅是技术乌托邦或金融狂欢,更可能是一次对民主形式的深刻拓展和挑战。这里有最狂热的逐利者,也有最理想主义的社群塑梦者;有一夜暴富的神话,也有瞬间破灭的惨痛。而这一切汇聚成的洪流,正冲撞着工业时代以来既定的权力谱系。
当我们再次追问:Crypto究竟是什么? 或许可以这样回答——Crypto是比特币之后,人类完成的一次政治范式的试验性跃迁。在这里,价格行为化身为选票,资本市场演化为广场,代码与共识共同撰写“社会契约”。这是一场仍在进行的文明实验:它可能无声地融入既有秩序,也可能剧烈地重塑未来规则。但无论结局如何,如今我们已经见证:在比特币发明真正的货币之后,Crypto正在发明真正属于21世纪的政治。它以数字时代的语言宣告:在链上,价格即政治,市场即民意,代码即法律。这,或许就是Crypto带给我们的最直观而震撼的本质启示。
参考资料:
-
中本聪. 比特币白皮书: 一种点对点的电子现金系统. (2008)bitcoin.org
-
Arkham Intelligence. Ethereum vs Ethereum Classic: Understanding the Differences. (2023)arkhamintelligence.com
-
Binance Square (@渔神的加密日记). 狗狗币价格为何上涨?背后的原因你知道吗?binance.com
-
Cointelegraph中文. 特朗普的迷因币晚宴预期内容揭秘. (2025)cn.cointelegraph.com
-
慢雾科技 Web3Caff (@Lisa). 风险提醒:从 LIBRA 看“政治化”的加密货币骗局. (2025)web3caff.com
-
Nasdaq (@Anthony Clarke). How Cryptocurrency Aligns with the Principles of Islamic Finance. (2023)nasdaq.comnasdaq.com
-
Cointelegraph Magazine (@Andrew Fenton). DeFi can be halal but not DOGE? Decentralizing Islamic finance. (2023)cointelegraph.com
-
-
@ 04c915da:3dfbecc9
2025-05-16 18:06:46Bitcoin has always been rooted in freedom and resistance to authority. I get that many of you are conflicted about the US Government stacking but by design we cannot stop anyone from using bitcoin. Many have asked me for my thoughts on the matter, so let’s rip it.
Concern
One of the most glaring issues with the strategic bitcoin reserve is its foundation, built on stolen bitcoin. For those of us who value private property this is an obvious betrayal of our core principles. Rather than proof of work, the bitcoin that seeds this reserve has been taken by force. The US Government should return the bitcoin stolen from Bitfinex and the Silk Road.
Using stolen bitcoin for the reserve creates a perverse incentive. If governments see bitcoin as a valuable asset, they will ramp up efforts to confiscate more bitcoin. The precedent is a major concern, and I stand strongly against it, but it should be also noted that governments were already seizing coin before the reserve so this is not really a change in policy.
Ideally all seized bitcoin should be burned, by law. This would align incentives properly and make it less likely for the government to actively increase coin seizures. Due to the truly scarce properties of bitcoin, all burned bitcoin helps existing holders through increased purchasing power regardless. This change would be unlikely but those of us in policy circles should push for it regardless. It would be best case scenario for American bitcoiners and would create a strong foundation for the next century of American leadership.
Optimism
The entire point of bitcoin is that we can spend or save it without permission. That said, it is a massive benefit to not have one of the strongest governments in human history actively trying to ruin our lives.
Since the beginning, bitcoiners have faced horrible regulatory trends. KYC, surveillance, and legal cases have made using bitcoin and building bitcoin businesses incredibly difficult. It is incredibly important to note that over the past year that trend has reversed for the first time in a decade. A strategic bitcoin reserve is a key driver of this shift. By holding bitcoin, the strongest government in the world has signaled that it is not just a fringe technology but rather truly valuable, legitimate, and worth stacking.
This alignment of incentives changes everything. The US Government stacking proves bitcoin’s worth. The resulting purchasing power appreciation helps all of us who are holding coin and as bitcoin succeeds our government receives direct benefit. A beautiful positive feedback loop.
Realism
We are trending in the right direction. A strategic bitcoin reserve is a sign that the state sees bitcoin as an asset worth embracing rather than destroying. That said, there is a lot of work left to be done. We cannot be lulled into complacency, the time to push forward is now, and we cannot take our foot off the gas. We have a seat at the table for the first time ever. Let's make it worth it.
We must protect the right to free usage of bitcoin and other digital technologies. Freedom in the digital age must be taken and defended, through both technical and political avenues. Multiple privacy focused developers are facing long jail sentences for building tools that protect our freedom. These cases are not just legal battles. They are attacks on the soul of bitcoin. We need to rally behind them, fight for their freedom, and ensure the ethos of bitcoin survives this new era of government interest. The strategic reserve is a step in the right direction, but it is up to us to hold the line and shape the future.
-
@ b0a838f2:34ed3f19
2025-05-23 18:08:44- Cgit - Fast lightweight web interface for git repositories. (Source Code)
GPL-2.0
C
- Forgejo - A lightweight software forge focused on scaling, federation, and privacy (fork of Gitea). (Demo, Source Code, Clients)
MIT
Docker/Go
- Fossil - Distributed version control system featuring wiki and bug tracker.
BSD-2-Clause-FreeBSD
C
- Gerrit - Code review and project management tool for Git-based projects. (Source Code)
Apache-2.0
Java/Docker
- gitbucket - Git platform powered with easy installation, high extensibility & GitHub API compatibility (alternative to GitHub). (Source Code)
Apache-2.0
Scala/Java
- Gitea - Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD. (Demo, Source Code)
MIT
Go/Docker/K8S
- GitLab - Self Hosted Git repository management, code reviews, issue tracking, activity feeds and wikis. (Demo, Source Code)
MIT
Ruby/deb/Docker/K8S
- Gitolite - Setup git hosting on a central server, with fine-grained access control and many more powerful features. (Source Code)
GPL-2.0
Perl
- Gogs - Painless self-hosted Git Service written in Go. (Source Code)
MIT
Go
- Huly - All-in-one project management platform (alternative to Linear, Jira, Slack, Notion, Motion). (Demo, Source Code)
EPL-2.0
Docker/K8S/Nodejs
- Kallithea - Source code management system that supports two leading version control systems, Mercurial and Git, with a web interface. (Source Code)
GPL-3.0
Python
- Klaus - Simple, easy-to-set-up Git web viewer that Just Works.
ISC
Python/Docker
- Leantime - Lean project management system for small teams and startups helping to manage projects from ideation through delivery. (Source Code)
AGPL-3.0
PHP/Docker
- Mergeable
⚠
- A better inbox for GitHub pull requests. (Demo, Source Code)MIT
Nodejs/Docker/K8S
- Mindwendel - Brainstorm and upvote ideas and thoughts within your team. (Demo, Source Code)
AGPL-3.0
Docker/Elixir
- minimal-git-server - Lightweight git server with a basic CLI to manage repositories, supporting multiple accounts and running in a container.
MIT
Docker
- Octobox
⚠
- Take back control of your GitHub Notifications. (Source Code)AGPL-3.0
Ruby/Docker
- OneDev - All-In-One DevOps Platform. With Git Management, Issue Tracking, and CI/CD. Simple yet Powerful. (Source Code)
MIT
Java/Docker/K8S
- OpenProject - Manage your projects, tasks and goals. Collaborate via work packages and link them to your pull requests on Github. (Source Code)
GPL-3.0
Ruby/deb/Docker
- Pagure - Lightweight, powerful, and flexible git-centric forge with features laying the foundation for federated and decentralized development. (Demo)
GPL-2.0
Docker/Python/deb
- Phorge - Community-driven platform for collaborating, managing, organizing and reviewing software development projects. (Source Code)
Apache-2.0
PHP
- Plane - Track issues, epics, and product roadmaps in the simplest way possible (alternative to JIRA, Linear and Height). (Demo, Source Code)
AGPL-3.0
Docker
- ProjeQtOr - Complete, mature, multi-user project management system with extensive functionality for all phases of a project. (Demo, Source Code)
AGPL-3.0
PHP
- Redmine - Redmine is a flexible project management web application. (Source Code)
GPL-2.0
Ruby
- Review Board - Extensible and friendly code review tool for projects and companies of all sizes. (Demo, Source Code)
MIT
Python/Docker
- rgit - An ultra-fast & lightweight cgit clone.
WTFPL
Rust/Docker
- RhodeCode - RhodeCode is an open source platform for software development teams. It unifies and simplifies repository management for Git, Subversion, and Mercurial. (Source Code)
AGPL-3.0
Python
- Rukovoditel - Configurable open source project management, web-based application. (Source Code)
GPL-2.0
PHP
- SCM Manager - The easiest way to share and manage your Git, Mercurial and Subversion repositories over http. (Source Code)
BSD-3-Clause
Java/deb/Docker/K8S
- Smederee - A frugal platform which is dedicated to help people build great software together leveraging the power of the Darcs version control system. (Source Code)
AGPL-3.0
Scala
- Sourcehut - A full web git interface with no javascript. (Demo, Source Code)
GPL-2.0
Go
- Taiga - Agile Project Management Tool based on the Kanban and Scrum methods. (Source Code)
MPL-2.0
Docker/Python/Nodejs
- Titra - Time-tracking solution for freelancers and small teams. (Source Code)
GPL-3.0
Javascript/Docker
- Trac - Trac is an enhanced wiki and issue tracking system for software development projects.
BSD-3-Clause
Python/deb
- Traq - Project management and issue tracking system written in PHP. (Source Code)
GPL-3.0
PHP/Nodejs
- Tuleap - Tuleap is a libre suite to plan, track, code and collaborate on software projects. (Source Code)
GPL-2.0
PHP
- UVDesk - UVDesk community is a service oriented, event driven extensible opensource helpdesk system that can be used by your organization to provide efficient support to your clients effortlessly whichever way you imagine. (Demo, Source Code)
MIT
PHP
- ZenTao - An agile(scrum) project management system/tool. (Source Code)
AGPL-3.0
PHP
- Cgit - Fast lightweight web interface for git repositories. (Source Code)
-
@ 04c915da:3dfbecc9
2025-05-16 17:59:23Recently we have seen a wave of high profile X accounts hacked. These attacks have exposed the fragility of the status quo security model used by modern social media platforms like X. Many users have asked if nostr fixes this, so lets dive in. How do these types of attacks translate into the world of nostr apps? For clarity, I will use X’s security model as representative of most big tech social platforms and compare it to nostr.
The Status Quo
On X, you never have full control of your account. Ultimately to use it requires permission from the company. They can suspend your account or limit your distribution. Theoretically they can even post from your account at will. An X account is tied to an email and password. Users can also opt into two factor authentication, which adds an extra layer of protection, a login code generated by an app. In theory, this setup works well, but it places a heavy burden on users. You need to create a strong, unique password and safeguard it. You also need to ensure your email account and phone number remain secure, as attackers can exploit these to reset your credentials and take over your account. Even if you do everything responsibly, there is another weak link in X infrastructure itself. The platform’s infrastructure allows accounts to be reset through its backend. This could happen maliciously by an employee or through an external attacker who compromises X’s backend. When an account is compromised, the legitimate user often gets locked out, unable to post or regain control without contacting X’s support team. That process can be slow, frustrating, and sometimes fruitless if support denies the request or cannot verify your identity. Often times support will require users to provide identification info in order to regain access, which represents a privacy risk. The centralized nature of X means you are ultimately at the mercy of the company’s systems and staff.
Nostr Requires Responsibility
Nostr flips this model radically. Users do not need permission from a company to access their account, they can generate as many accounts as they want, and cannot be easily censored. The key tradeoff here is that users have to take complete responsibility for their security. Instead of relying on a username, password, and corporate servers, nostr uses a private key as the sole credential for your account. Users generate this key and it is their responsibility to keep it safe. As long as you have your key, you can post. If someone else gets it, they can post too. It is that simple. This design has strong implications. Unlike X, there is no backend reset option. If your key is compromised or lost, there is no customer support to call. In a compromise scenario, both you and the attacker can post from the account simultaneously. Neither can lock the other out, since nostr relays simply accept whatever is signed with a valid key.
The benefit? No reliance on proprietary corporate infrastructure.. The negative? Security rests entirely on how well you protect your key.
Future Nostr Security Improvements
For many users, nostr’s standard security model, storing a private key on a phone with an encrypted cloud backup, will likely be sufficient. It is simple and reasonably secure. That said, nostr’s strength lies in its flexibility as an open protocol. Users will be able to choose between a range of security models, balancing convenience and protection based on need.
One promising option is a web of trust model for key rotation. Imagine pre-selecting a group of trusted friends. If your account is compromised, these people could collectively sign an event announcing the compromise to the network and designate a new key as your legitimate one. Apps could handle this process seamlessly in the background, notifying followers of the switch without much user interaction. This could become a popular choice for average users, but it is not without tradeoffs. It requires trust in your chosen web of trust, which might not suit power users or large organizations. It also has the issue that some apps may not recognize the key rotation properly and followers might get confused about which account is “real.”
For those needing higher security, there is the option of multisig using FROST (Flexible Round-Optimized Schnorr Threshold). In this setup, multiple keys must sign off on every action, including posting and updating a profile. A hacker with just one key could not do anything. This is likely overkill for most users due to complexity and inconvenience, but it could be a game changer for large organizations, companies, and governments. Imagine the White House nostr account requiring signatures from multiple people before a post goes live, that would be much more secure than the status quo big tech model.
Another option are hardware signers, similar to bitcoin hardware wallets. Private keys are kept on secure, offline devices, separate from the internet connected phone or computer you use to broadcast events. This drastically reduces the risk of remote hacks, as private keys never touches the internet. It can be used in combination with multisig setups for extra protection. This setup is much less convenient and probably overkill for most but could be ideal for governments, companies, or other high profile accounts.
Nostr’s security model is not perfect but is robust and versatile. Ultimately users are in control and security is their responsibility. Apps will give users multiple options to choose from and users will choose what best fits their need.
-
@ b0a838f2:34ed3f19
2025-05-23 18:08:24- Appsmith - Build admin panels, CRUD apps and workflows. Build everything you need, 10x faster. (Source Code)
Apache-2.0
Java/Docker/K8S
- Appwrite - End to end backend server for web, native, and mobile developers 🚀. (Source Code)
BSD-3-Clause
Docker
- Dashpress - Generate fully functional admin apps in seconds from your database information, with a single command.
AGPL-3.0
Nodejs/Docker
- Manifest - Complete backend that fits into 1 YAML file. (Demo, Source Code)
MIT
Nodejs
- Motor Admin - No-code admin panel and business intelligence software - search, create, update, and delete data entries, create custom actions, and build reports. (Source Code)
AGPL-3.0
Ruby/Docker
- PocketBase - Backend for your next SaaS and Mobile app in one file. (Source Code)
MIT
Go/Docker
- SQLPage - SQL-only dynamic website builder. (Source Code)
MIT
Rust/Docker
- ToolJet - Low-code framework to build & deploy internal tools with minimal engineering effort (alternative to Retool & Mendix). (Source Code)
GPL-3.0
Nodejs/Docker/K8S
- TrailBase - Open, sub-millisecond, single-executable FireBase alternative with type-safe REST & realtime APIs, built-in JS/TS runtime, auth & admin UI. (Demo, Source Code)
OSL-3.0
Rust/Docker
- Appsmith - Build admin panels, CRUD apps and workflows. Build everything you need, 10x faster. (Source Code)
-
@ 04c915da:3dfbecc9
2025-05-16 17:51:54In much of the world, it is incredibly difficult to access U.S. dollars. Local currencies are often poorly managed and riddled with corruption. Billions of people demand a more reliable alternative. While the dollar has its own issues of corruption and mismanagement, it is widely regarded as superior to the fiat currencies it competes with globally. As a result, Tether has found massive success providing low cost, low friction access to dollars. Tether claims 400 million total users, is on track to add 200 million more this year, processes 8.1 million transactions daily, and facilitates $29 billion in daily transfers. Furthermore, their estimates suggest nearly 40% of users rely on it as a savings tool rather than just a transactional currency.
Tether’s rise has made the company a financial juggernaut. Last year alone, Tether raked in over $13 billion in profit, with a lean team of less than 100 employees. Their business model is elegantly simple: hold U.S. Treasuries and collect the interest. With over $113 billion in Treasuries, Tether has turned a straightforward concept into a profit machine.
Tether’s success has resulted in many competitors eager to claim a piece of the pie. This has triggered a massive venture capital grift cycle in USD tokens, with countless projects vying to dethrone Tether. Due to Tether’s entrenched network effect, these challengers face an uphill battle with little realistic chance of success. Most educated participants in the space likely recognize this reality but seem content to perpetuate the grift, hoping to cash out by dumping their equity positions on unsuspecting buyers before they realize the reality of the situation.
Historically, Tether’s greatest vulnerability has been U.S. government intervention. For over a decade, the company operated offshore with few allies in the U.S. establishment, making it a major target for regulatory action. That dynamic has shifted recently and Tether has seized the opportunity. By actively courting U.S. government support, Tether has fortified their position. This strategic move will likely cement their status as the dominant USD token for years to come.
While undeniably a great tool for the millions of users that rely on it, Tether is not without flaws. As a centralized, trusted third party, it holds the power to freeze or seize funds at its discretion. Corporate mismanagement or deliberate malpractice could also lead to massive losses at scale. In their goal of mitigating regulatory risk, Tether has deepened ties with law enforcement, mirroring some of the concerns of potential central bank digital currencies. In practice, Tether operates as a corporate CBDC alternative, collaborating with authorities to surveil and seize funds. The company proudly touts partnerships with leading surveillance firms and its own data reveals cooperation in over 1,000 law enforcement cases, with more than $2.5 billion in funds frozen.
The global demand for Tether is undeniable and the company’s profitability reflects its unrivaled success. Tether is owned and operated by bitcoiners and will likely continue to push forward strategic goals that help the movement as a whole. Recent efforts to mitigate the threat of U.S. government enforcement will likely solidify their network effect and stifle meaningful adoption of rival USD tokens or CBDCs. Yet, for all their achievements, Tether is simply a worse form of money than bitcoin. Tether requires trust in a centralized entity, while bitcoin can be saved or spent without permission. Furthermore, Tether is tied to the value of the US Dollar which is designed to lose purchasing power over time, while bitcoin, as a truly scarce asset, is designed to increase in purchasing power with adoption. As people awaken to the risks of Tether’s control, and the benefits bitcoin provides, bitcoin adoption will likely surpass it.
-
@ b0a838f2:34ed3f19
2025-05-23 18:08:08- Accent - Developer-oriented translation tool. (Source Code)
BSD-3-Clause
Elixir/Docker
- Tolgee - Developer & translator friendly web-based localization platform enabling users to translate directly in the app they develop. (Source Code)
Apache-2.0
Docker/Java
- Traduora - Translation management platform for teams. (Source Code)
AGPL-3.0
Docker/K8S/Nodejs
- Weblate - Web-based translation tool with tight version control integration. (Source Code)
GPL-3.0
Python/Docker/K8S
- Accent - Developer-oriented translation tool. (Source Code)
-
@ b0a838f2:34ed3f19
2025-05-23 18:07:52- Atheos - Web-based IDE framework with a small footprint and minimal requirements, continued from Codiad. (Source Code)
MIT
PHP/Docker
- code-server - VS Code in the browser, hosted on a remote server.
MIT
Nodejs/Docker
- Coder - Remote development machines on your own infrastructure. (Source Code)
AGPL-3.0
Go/Docker/K8S/deb
- Eclipse Che - Open source workspace server and cloud IDE. (Source Code)
EPL-1.0
Docker/Java
- HttPlaceholder - Quickly mock away any webservice using HttPlaceholder. HttPlaceholder lets you specify what the request should look like and what response needs to be returned.
MIT
C#
- Judge0 CE - API to compile and run source code. (Source Code)
GPL-3.0
Docker
- JupyterLab - Web-based environment for interactive and reproducible computing. (Demo, Source Code)
BSD-3-Clause
Python/Docker
- Langfuse - LLM engineering platform for model tracing, prompt management, and application evaluation. Langfuse helps teams collaboratively debug, analyze, and iterate on their LLM applications such as chatbots or AI agents. (Demo, Source Code, Clients)
MIT
Docker
- LiveCodes
⚠
- Feature-rich client-side code playground for React, Vue, Svelte, Solid, Typescript, Python, Go, Ruby, PHP and 90+ other languages. (Demo, Source Code)MIT
Nodejs
- Lowdefy - Build internal tools, BI dashboards, admin panels, CRUD apps and workflows in minutes using YAML / JSON on an self-hosted, open-source platform. Connect to your data sources, host via Serverless, Netlify or Docker. (Source Code)
Apache-2.0
Nodejs/Docker
- RStudio Server - Web browser based IDE for R. (Source Code)
AGPL-3.0
Java/C++
- Wakapi - Tracking tool for coding statistics, compatible with WakaTime. (Source Code)
GPL-3.0
Go/Docker
- Atheos - Web-based IDE framework with a small footprint and minimal requirements, continued from Codiad. (Source Code)
-
@ bc6ccd13:f53098e4
2025-05-21 02:04:25This article is slightly outside my normal writing focus. But it’s something everyone deserves to know, and take advantage of if they like. Before you click away, this isn’t a sports betting “system” or “strategy”. This is for anyone living in or near a state that has legalized online sports betting. It’s a way to take advantage of the new customer sign up bonuses these online sportsbooks give, by using free online tools to convert those bonuses into $2,000 or more in cash per person, depending on your state. It doesn’t require you to know anything whatsoever about sports, gambling, sports betting, odds, math, or anything like that. It doesn’t involve taking risks with your money. All you need is some capital (around $3-5,000 would be ideal), a smartphone, a legal sports betting state, and this guide.
Concepts and Principles
Online sports betting is now legal in 30 US states. You can check legality in your state on the map here. If you’re in a state with legal mobile betting, or close enough that you’d be willing to drive there, you can benefit from this guide.
Most states with legalized betting have multiple different sports books competing for customers. To attract new customers, many of them offer various types of bonus offers when you initially sign up. The idea is that once you sign up and place a bet, you’re likely to continue betting in the future. So the sportsbook doesn’t mind losing money on your first wager, because they’ll make it back over time. That leaves an opportunity for someone to just take the free money and leave, if they want to do that. It’s completely legal, and if you follow this guide, also risk free.
The bonuses vary in size, but are usually larger the first few months after a state legalizes online betting, since sportsbooks are competing heavily to attract the new customers to their site. But most states will have a combined $3-5,000 in bonuses available at any time across 4-8 sportsbooks. You can find the available offers in your state by searching “covers sports betting promo offers \
”. For example for Maryland, we’d end up up at covers.com on a page like this. The basic concept is that we open accounts on multiple sites, sign up for their bonus offers, then bet both sides of the same sports game but on 2 different sites. That way it doesn’t matter which team wins, we collect the free bonus money with no risk.
Actually doing it is a bit more nuanced, but I’ll explain it step by step and illustrate with plenty of screenshots to make sure you can follow along.
First, you want to find the offers for your state, and sign up for the sites with the offers you want to convert. For Maryland, if we scroll on down at covers.com, we’ll find this list of offers.
The larger offers are of course more worthwhile, so if I were in Maryland, I would first sign up for Caesars, DraftKings, BetMGM, and ESPN BET. Since you’ll also want another site to hedge your bets, I’d also sign up for FanDuel. You can download their apps, set up your accounts, and familiarize yourself with the deposit methods that are available.
Risk-Free Bets
These are the most common bonus offers you’ll find. They’ll also be called No Sweat Bets, Second Chance Bets, First Bet Insurance, Bonus Bets, First Bets, etc. Always make sure you check the details of the promotion you’re using to make sure it’s a Risk-Free Bet, and what the terms and details of the offer are. The four offers from the sites above for Maryland all fall under the category of risk-free bets.
The concept of this offer is simple: you open an account, deposit some money, and make a bet. The very first bet (MAKE SURE YOU GET THIS RIGHT) will be your risk-free bet. If you win that first bet, cool, you get the winnings from that bet and can withdraw it. If you lose your first bet, the risk-free bet kicks in, and you get a free bet deposited into your account equal to the amount of your first bet. So you basically get a do-over if you lose the first one.
Now you won’t be able to just withdraw the free bet in cash if you lose and get your money back. That would be too easy. The risk-free bet is a bet, you can only use it to bet on another game. If you win that second wager, you can withdraw your winnings. But if you don’t, you can still win by hedging your bets on a different sportsbook. That’s what I’m going to show you.
To find which games to bet on and how much to bet, you’ll need to use a different free website. Go to Crazy Ninja Odds.
Go to Settings in the top right corner, uncheck the sites you aren’t using.
Now go back to Home. Click on Risk-free bet page.
Now we need to choose an offer to convert. Let’s choose our Caesars $1,000 First Bet. We can walk through the steps first, to see which game we want to bet and how much we need to deposit.
First, starting at the top, under “Reward” we’ll enter 100%. With this offer, if we lose our first bet, we get a free bonus bet of 100% of the amount of our first bet, up to $1,000.
Next, we’ll select “Free bet (70%)”. Our free bonus bet will be convertible at about 70%, but that’s not something we need to understand right now. Just check the box and move on.
Next, open “Risk Free Bet Sportsbook” and select Caesars.
Now the page should be filled out like this.
Click “Update” at the bottom. Scroll down, and you’ll see a chart like this.
If none of this means anything to you, that’s fine. I’ll walk you through exactly what to do.
The bets are sorted by ranking from best to worst value. So we always want to choose the top bets unless we have a reason not to. In this case, we are making our risk-free bet on Caesars, and we want to hedge on the site where we aren’t trying to convert any offers, FanDuel. So we want to look at the second column on the right, Hedge Bet Sportsbook. Go down the column until you find FanDuel. In that row, the third column from the left has a “Calc” button. I’ve highlighted the button here.
Click the button. You’ll get a popup that looks like this.
So this is an NHL hockey game between the Dallas Stars and the Edmonton Oilers. If you know absolutely nothing about hockey, perfect. Neither do I. The important thing is that this shows us which wagers to place, and for how much. The left column is our Risk-Free Bet on Caesars, and the right column is our Hedge on FanDuel.
Our first decision is how much to wager. You’ll see that the Caesars wager is currently set to $100. But remember, our First Bet offer is for up to $1,000. You can wager any amount up to $1,000, but you’ll only get one shot at this offer, so if you wager less than $1,000, you won’t get the full benefit of the offer, and you’ll never be able to go back and use the rest in the future. It’s one shot. So my advice is wager $1,000, there’s no good reason not to. So we’ll change the wager amount to $1,000.
Now you can see that our risk-free bet is Edmonton Oilers -1.5 for $1,000, and our hedge bet is Dallas Stars +1.5 for $1,604.93. If you don’t know what that means, that’s fine. What you need to know is that you’ll need to deposit at least $1,000 into your Caesars account, and at least $1,604.93 into your FanDuel account. When that’s done, you can check the bets on each site to make sure the odds are accurate. They change constantly, so it’s always good to check both sites just before placing a bet.
First, we’ll open up the Caesars app and search for “Edmonton Oilers.” Sure enough, the game pops up.
Then we’ll click on that game and open it up
There are four things we want to check on each bet before placing it. I’ve highlighted them above. We have the Edmonton Oilers -1.5, odds of +196, a wager of $1,000, and a payout of $2,960. If we compare that with the correct column in our Risk-Free Bet Calculator, we’ll see that everything is correct.
Now we want to do the same for the FanDuel hedge. We’ll open the FanDuels app and search for “Dallas Stars” and find the same game against the Oilers.
Here we can see the first problem. The spread we see here is -1.5, odds of +225. Our Risk-Free Bet Calculator is asking for Dallas Stars +1.5, odds -245. So we need to select a different line. Farther down the page you’ll see “Series Alternate Handicap.” Open that, and you’ll see Dallas Stars +1.5.
This is the bet we’re looking for. But you’ll also notice that the odds are -225 instead of -245. So we can select this bet, but we need to go back to our Risk-Free Bet Calculator and change the odds to get the correct amount to bet on this line.
So go back to the calculator and change -245 to -225. You’ll see this.
As you can see, the amount of the wager has changed to $1,564.62. So we can go back to FanDuel, select Dallas Stars +1.5, odds -225, and enter our updated wager amount.
As you can see, when we add the “Wager” and the “To Win” amount, we get $2,260.01. Looking at our calculator, that’s the exact number in our “Payout” row. So these are the bets we need to make.
Now that we’ve double checked everything, we can go back and make our $1,000 bet on Caesars, and immediately go make our $1,564.62 bet on FanDuel.
Awesome!
Now what? Well, our job is done. We just wait to see which team wins. Not that it matters to us either way. But which team wins will determine our next step.
Looking at our calculator again, there are two possible outcomes.
The first outcome is the Edmonton Oilers win. In that case, our Caesars bet will payout $2,960, while our FanDuel bet will be a total loss. Here’s how we do the math on that scenario.
We start with our $2,960 Caesars balance. We subtract our $1,564.62 FanDuel bet (which was a loss). Then we subtract the $1,000 we initially deposited and wagered on Caesars. This leaves us with a profit of $395.38! Not bad for a one day return on $2,564.62, while taking no risk.
Now for the second scenario. That would be if the Dallas Stars win. In that case, our Caesars bet is a total loss. Our FanDuel bet pays our $2,260.01
So to calculate our profit here, we start with our payout of $2,260.01, subtract our wager of $1,564.62, subtract our Caesars wager of $1,000 (which was a loss), and then add 70% of our free bonus Caesars bet of $1,000, or $700 (more on that in a minute). Once again, that gives us a profit of $395.39.
Now back to the free bonus bet. Since our Caesars bet lost, we qualified for the promotional payout. If we check the Caesars app, we should see a bonus bet of $1,000 in our balance. Remember I said that you can’t just withdraw the bonus bet? This situation is where that becomes an issue. So we have to place a $1,000 wager with Caesars before we can withdraw that money. The problem with that is, what if our second wager also loses? Then we lose money on the entire process. That’s where the 70% number comes in. We’ll use a similar process when making that $1,000 wager, by hedging on a second site once again. By doing that, we’ll be guaranteed to collect around 70% of the wager, or $700. I’ll explain that in the next section.
Free Bets
This is the name for the bet we get if we lose our initial bet on a site with a Risk-Free Bet offer. This is just what it sounds like, a free bet. You can bet the amount on a game, and if you win, the winnings are your money. You’re free to withdraw that cash.
How do we ensure we still make a profit, even if our free bet loses? Well, Crazy Ninja Odds can help once again. Go back to their homepage, and this time click on Free Bets instead of Risk Free Bets. This time all we need to do is enter the sportsbook, Caesars, and click “update.” We’ll get a chart like this.
You know the drill by now. We find the first option on our Hedge Bet Sportsbook, FanDuel. This time it’s highlighted on the second row. Click “Calc.”
This is a money line bet, so it’s slightly different than the first one, but you won’t have any trouble figuring it out this time. You can check Caesars, and you’ll find the money line bet of $1,000 on the Pacers at +222, with a payout of $2,220.
Make sure you select your free bonus bet when you make the wager. If you lost your initial $1,000 deposit and didn’t deposit again, that should be your only option. It will look slightly different than this, since when you use a free bet, your payout won’t include the initial $1,000 wager, so it will read $2,220 instead of $3,220. I don’t have the free offer in my account so I can’t show you the exact screenshot, but you’ll be able to figure it out.
Then jump over to the other side of the game on FanDuel.
You’ll notice that the line is -275 instead of -270 like your calculator said. By now you know how to go back and change the odds in the calculator to get this.
Once again, you’ll want to make a $1,628 wager on the Boston Celtics at -275 to hedge your $1,000 free bonus bet on the Indiana Pacers at +222.
I could go through the math again, but you know how to do it now. You can look at the profit line and see that both outcomes will pay $592. If you remember, our initial bet used 70% of $1,000, or $700, as a bonus bet profit target. So given the odds available on this particular day, you’ll end up with just over $100 less profit if you need to convert the bonus bet than you’ll make if your first Caesars bet wins. That’s unfortunate, but just a result of games and odds available on a particular day. Getting a higher conversion rate would require more complex strategies, and this guide is long enough already.
Next Steps
Once you’ve successfully completed your initial offer, you can continue to do the same process for each additional sportsbook available in your state. And as you work through the offers on one site, you can then use that site to hedge the next site you sign up for.
There are a few things to keep in mind. Your free bonus bets are usually time limited. That means if your first bet loses, you often have as little as 7 days to use the free bonus bet before it disappears. So make sure you stay on top of your offers and play them before they expire. If you aren’t sure whether you qualify for a specific promotional offer, reach out to customer support before placing any bets. They’ll be able to explain exactly which offers you qualify for and how to access them.
Once you sign up and start betting, you’ll likely start getting more offers in the apps. They might be free bets, in which case you already know how to play them. But there are other offers as well, some of which you can do in a risk free way. If this guide gets enough interest, I may write more about how to handle other types of offers.
These offers will be available once to each person. So you can play them once, and that’s it. But you can also help each member of your family or close friends sign up and show them how to play the offers, or do it for them. Just be careful with your money management, since there will be a significant capital investment up front. If you’re putting up the capital, make sure it’s someone you fully trust with control of that money.
If there’s enough interest, I may also put together a guide on how you can do this with family members or friends who live anywhere, even if they’re not in a state with legal sports betting.
Most of all, be safe, don’t tie up capital you need for your daily life, and make sure you understand each offer and how to exploit it before placing any wagers.
If you have any questions, feel free to reach out to me and I’ll do my best to help you in any way I can.
Best of luck!
-
@ 04c915da:3dfbecc9
2025-05-16 17:12:05One of the most common criticisms leveled against nostr is the perceived lack of assurance when it comes to data storage. Critics argue that without a centralized authority guaranteeing that all data is preserved, important information will be lost. They also claim that running a relay will become prohibitively expensive. While there is truth to these concerns, they miss the mark. The genius of nostr lies in its flexibility, resilience, and the way it harnesses human incentives to ensure data availability in practice.
A nostr relay is simply a server that holds cryptographically verifiable signed data and makes it available to others. Relays are simple, flexible, open, and require no permission to run. Critics are right that operating a relay attempting to store all nostr data will be costly. What they miss is that most will not run all encompassing archive relays. Nostr does not rely on massive archive relays. Instead, anyone can run a relay and choose to store whatever subset of data they want. This keeps costs low and operations flexible, making relay operation accessible to all sorts of individuals and entities with varying use cases.
Critics are correct that there is no ironclad guarantee that every piece of data will always be available. Unlike bitcoin where data permanence is baked into the system at a steep cost, nostr does not promise that every random note or meme will be preserved forever. That said, in practice, any data perceived as valuable by someone will likely be stored and distributed by multiple entities. If something matters to someone, they will keep a signed copy.
Nostr is the Streisand Effect in protocol form. The Streisand effect is when an attempt to suppress information backfires, causing it to spread even further. With nostr, anyone can broadcast signed data, anyone can store it, and anyone can distribute it. Try to censor something important? Good luck. The moment it catches attention, it will be stored on relays across the globe, copied, and shared by those who find it worth keeping. Data deemed important will be replicated across servers by individuals acting in their own interest.
Nostr’s distributed nature ensures that the system does not rely on a single point of failure or a corporate overlord. Instead, it leans on the collective will of its users. The result is a network where costs stay manageable, participation is open to all, and valuable verifiable data is stored and distributed forever.
-
@ b0a838f2:34ed3f19
2025-05-23 18:07:34- Featbit - Enterprise-grade feature flag platform that you can self-host. (Source Code)
MIT
Docker/K8S
- Flagsmith - Dashboard, API and SDKs for adding Feature Flags to your applications (alternative to LaunchDarkly). (Source Code)
BSD-3-Clause
Docker/K8S
- Flipt - Feature flag solution with support for multiple data backends (alternative to LaunchDarkly). (Demo, Source Code)
GPL-3.0
Docker/K8S/Go
- GO Feature Flag - Simple, complete, and lightweight feature flag solution (alternative to LaunchDarkly). (Source Code)
MIT
Go
- Featbit - Enterprise-grade feature flag platform that you can self-host. (Source Code)
-
@ b0a838f2:34ed3f19
2025-05-23 18:07:18- DreamFactory - Turns any SQL/NoSQL/Structured data into Restful API. (Source Code)
Apache-2.0
PHP/Docker/K8S
- form.io - A REST API building platform that utilizes a drag & drop form builder, and is application framework agnostic. Contains open source and enterprise version. (Demo, Source Code)
MIT
Nodejs/Docker
- Fusio - Open-source API management platform which helps to build and manage REST APIs. (Demo, Source Code)
AGPL-3.0
PHP/Docker
- Graphweaver - Turn multiple data sources into a single GraphQL API. (Source Code)
MIT
Nodejs
- Hasura - Fast, instant realtime GraphQL APIs on Postgres with fine grained access control, also trigger webhooks on database events. (Source Code)
Apache-2.0
Haskell/Docker/K8S
- Hoppscotch Community Edition - Fast and beautiful API request builder. (Source Code)
MIT
Nodejs/Docker
- Kong - Microservice API Gateway and Platform. (Source Code)
Apache-2.0
Lua/Docker/K8S/deb
- Lura - High-performance API Gateway. (Source Code)
Apache-2.0
Go
- Opik
⚠
- Evaluate, test, and ship LLM applications with a suite of observability tools to calibrate language model outputs across your dev and production lifecycle. (Source Code)Apache-2.0
Docker/Python
- Panora
⚠
- Add an integration catalog to your SaaS product in minutes (alternative to Merge.dev). (Source Code)AGPL-3.0
Nodejs/Docker
- Para - Flexible and modular backend framework/server for object persistence, API development and authentication. (Source Code)
Apache-2.0
Java/Docker
- Svix - Open-source webhooks as a service that makes it super easy for API providers to send webhooks. (Source Code)
MIT
Docker/Rust
- Tyk - Fast and scalable open source API Gateway. Out of the box, Tyk offers an API Management Platform with an API Gateway, API Analytics, Developer Portal and API Management Dashboard. (Source Code)
MPL-2.0
Go/Docker/K8S
- Yaade - Yaade is an open-source, self-hosted, collaborative API development environment. (Source Code)
MIT
Docker
- DreamFactory - Turns any SQL/NoSQL/Structured data into Restful API. (Source Code)
-
@ 21335073:a244b1ad
2025-05-09 13:56:57Someone asked for my thoughts, so I’ll share them thoughtfully. I’m not here to dictate how to promote Nostr—I’m still learning about it myself. While I’m not new to Nostr, freedom tech is a newer space for me. I’m skilled at advocating for topics I deeply understand, but freedom tech isn’t my expertise, so take my words with a grain of salt. Nothing I say is set in stone.
Those who need Nostr the most are the ones most vulnerable to censorship on other platforms right now. Reaching them requires real-time awareness of global issues and the dynamic relationships between governments and tech providers, which can shift suddenly. Effective Nostr promoters must grasp this and adapt quickly.
The best messengers are people from or closely tied to these at-risk regions—those who truly understand the local political and cultural dynamics. They can connect with those in need when tensions rise. Ideal promoters are rational, trustworthy, passionate about Nostr, but above all, dedicated to amplifying people’s voices when it matters most.
Forget influencers, corporate-backed figures, or traditional online PR—it comes off as inauthentic, corny, desperate and forced. Nostr’s promotion should be grassroots and organic, driven by a few passionate individuals who believe in Nostr and the communities they serve.
The idea that “people won’t join Nostr due to lack of reach” is nonsense. Everyone knows X’s “reach” is mostly with bots. If humans want real conversations, Nostr is the place. X is great for propaganda, but Nostr is for the authentic voices of the people.
Those spreading Nostr must be so passionate they’re willing to onboard others, which is time-consuming but rewarding for the right person. They’ll need to make Nostr and onboarding a core part of who they are. I see no issue with that level of dedication. I’ve been known to get that way myself at times. It’s fun for some folks.
With love, I suggest not adding Bitcoin promotion with Nostr outreach. Zaps already integrate that element naturally. (Still promote within the Bitcoin ecosystem, but this is about reaching vulnerable voices who needed Nostr yesterday.)
To promote Nostr, forget conventional strategies. “Influencers” aren’t the answer. “Influencers” are not the future. A trusted local community member has real influence—reach them. Connect with people seeking Nostr’s benefits but lacking the technical language to express it. This means some in the Nostr community might need to step outside of the Bitcoin bubble, which is uncomfortable but necessary. Thank you in advance to those who are willing to do that.
I don’t know who is paid to promote Nostr, if anyone. This piece isn’t shade. But it’s exhausting to see innocent voices globally silenced on corporate platforms like X while Nostr exists. Last night, I wondered: how many more voices must be censored before the Nostr community gets uncomfortable and thinks creatively to reach the vulnerable?
A warning: the global need for censorship-resistant social media is undeniable. If Nostr doesn’t make itself known, something else will fill that void. Let’s start this conversation.
-
@ b0a838f2:34ed3f19
2025-05-23 18:07:01- Ansible-NAS - Build a full-featured home server with this playbook and an Ubuntu box.
MIT
Ansible/Docker
- CasaOS - Simple, easy-to-use, elegant Home Cloud system. (Source Code)
Apache-2.0
Go/Docker
- DietPi - Minimal Debian OS optimized for single-board computers, which allows you to easily install and manage several services for selfhosting at home. (Source Code)
GPL-2.0
Shell
- DockSTARTer - DockSTARTer helps you get started with home server apps running in Docker. (Source Code)
MIT
Shell
- Dropserver - An application platform for your personal web services. (Source Code)
Apache-2.0
Go/Deno
- FreedomBox - Community project to develop, design and promote personal servers running free software for private, personal, communications. (Source Code)
AGPL-3.0
Python/deb
- HomelabOS - Offline privacy-centric data-center. Deploy over 100 services with a few commands. (Source Code)
MIT
Docker
- HomeServerHQ - All-in-one home server infrastructure and installer. Have a fully configured email server, VPN, and public website(s) set up in less than an hour, even behind CGNAT. (Source Code)
GPL-3.0
Shell
- LibreServer - Home server configuration based on Debian. (Source Code)
AGPL-3.0
Shell
- Mars Server - Managed home server with Docker, Docker Compose, Make and Bash.
MIT
Docker
- Mistborn - Virtual private cloud platform and WebUI that manages self hosted services.
MIT
Shell/Docker
- NextCloudPi - Nextcloud preinstalled and preconfigured, with a text and web management interface and all the tools needed to self host private data. With installation images for Raspberry Pi, Odroid, Rock64, Docker, and a curl installer for Armbian/Debian.
GPL-2.0
Shell/PHP
- OpenMediaVault - Network attached storage (NAS) solution based on Debian Linux. It contains services like SSH, (S)FTP, SMB/CIFS, DAAP media server, RSync, BitTorrent client and many more. (Source Code)
GPL-3.0
PHP
- Sandstorm - Personal server for running self-hosted apps easily and securely. (Demo, Source Code)
Apache-2.0
C++/Shell
- Self Host Blocks
⚠
- Modular server management based on NixOS modules and focused on best practices.AGPL-3.0
Nix
- StartOS - Browser-based, graphical Operating System (OS) that makes running a personal server as easy as running a personal computer. (Source Code)
MIT
Rust
- Syncloud - Your own online file storage, social network or email server. (Source Code)
GPL-3.0
Go/Shell
- Tipi - Homeserver manager. One command setup, one click installs for your favorites self-hosted apps. (Source Code)
GPL-3.0
Shell
- UBOS - Linux distro that runs on indie boxes (personal servers and IoT devices). Single-command installation and management of apps - Jenkins, Mediawiki, Owncloud, WordPress, etc., and other features.
GPL-3.0
Perl
- Websoft9
⚠
- GitOps-driven, multi-application hosting for cloud servers and home servers, one-click deployment of 200+ open source apps. (Demo, Source Code, Clients)LGPL-3.0
Shell/Python
- WikiSuite - The most comprehensive and integrated Free / Libre / Open Source enterprise software suite. (Source Code)
GPL-3.0/LGPL-2.1/Apache-2.0/MPL-2.0/MPL-1.1/MIT/AGPL-3.0
Shell/Perl/deb
- xsrv - Install and manage self-hosted services/applications, on your own server(s). (Source Code)
GPL-3.0
Ansible/Shell
- YunoHost - Server operating system aiming to make self-hosting accessible to everyone. (Demo, Source Code)
AGPL-3.0
Python/Shell
- Ansible-NAS - Build a full-featured home server with this playbook and an Ubuntu box.
-
@ 21335073:a244b1ad
2025-05-01 01:51:10Please respect Virginia Giuffre’s memory by refraining from asking about the circumstances or theories surrounding her passing.
Since Virginia Giuffre’s death, I’ve reflected on what she would want me to say or do. This piece is my attempt to honor her legacy.
When I first spoke with Virginia, I was struck by her unshakable hope. I had grown cynical after years in the anti-human trafficking movement, worn down by a broken system and a government that often seemed complicit. But Virginia’s passion, creativity, and belief that survivors could be heard reignited something in me. She reminded me of my younger, more hopeful self. Instead of warning her about the challenges ahead, I let her dream big, unburdened by my own disillusionment. That conversation changed me for the better, and following her lead led to meaningful progress.
Virginia was one of the bravest people I’ve ever known. As a survivor of Epstein, Maxwell, and their co-conspirators, she risked everything to speak out, taking on some of the world’s most powerful figures.
She loved when I said, “Epstein isn’t the only Epstein.” This wasn’t just about one man—it was a call to hold all abusers accountable and to ensure survivors find hope and healing.
The Epstein case often gets reduced to sensational details about the elite, but that misses the bigger picture. Yes, we should be holding all of the co-conspirators accountable, we must listen to the survivors’ stories. Their experiences reveal how predators exploit vulnerabilities, offering lessons to prevent future victims.
You’re not powerless in this fight. Educate yourself about trafficking and abuse—online and offline—and take steps to protect those around you. Supporting survivors starts with small, meaningful actions. Free online resources can guide you in being a safe, supportive presence.
When high-profile accusations arise, resist snap judgments. Instead of dismissing survivors as “crazy,” pause to consider the trauma they may be navigating. Speaking out or coping with abuse is never easy. You don’t have to believe every claim, but you can refrain from attacking accusers online.
Society also fails at providing aftercare for survivors. The government, often part of the problem, won’t solve this. It’s up to us. Prevention is critical, but when abuse occurs, step up for your loved ones and community. Protect the vulnerable. it’s a challenging but a rewarding journey.
If you’re contributing to Nostr, you’re helping build a censorship resistant platform where survivors can share their stories freely, no matter how powerful their abusers are. Their voices can endure here, offering strength and hope to others. This gives me great hope for the future.
Virginia Giuffre’s courage was a gift to the world. It was an honor to know and serve her. She will be deeply missed. My hope is that her story inspires others to take on the powerful.
-
@ bc6ccd13:f53098e4
2025-05-21 01:56:38The credit/debt fiat money system is broken. If you haven’t been living under a rock, I’m sure you’re aware that something is really messed up in the financial system. Hopefully you’re at least somewhat aware of the reasons why and are placing blame squarely on the structure of the monetary system and not on politics or “capitalism” or “socialism” or corporations or billionaires or any of the other red herrings the bankers desperately hope to distract you with.
If you’re still obsessing over any of those things, that’s okay too, and you’re the reason I started this newsletter. It’s impossible to make good decisions without understanding the relevant information, and when it comes to money, almost no one understands the relevant information. My goal is to change that for as many people as I can reach, to grow the small group of people who are knowledgeable and empowered to make better decisions on money and finance.
Previous articles have been focused on economic theory and how money works at a conceptual level. That’s critically important to understand, and if you haven’t taken the time to read those articles, I know it will open your eyes to the world in a way you’ve never considered before. That understanding will give you a huge advantage in benefiting from what I’m about to describe. But today’s subject is strictly practical, actionable information on one specific financial instrument, and how you can use it to game the broken money system to benefit YOU.
Money Is Not Scarce
If you read my previous articles, you’ll understand that one of the biggest problems with the credit/debt money system is that money is not scarce in this system. In fact, the quantity of money is basically unlimited. That’s because money is created by banks every time they make a loan. Unlike everything you’ve ever thought, banks don’t lend out money that’s given to them by depositors. They create new money, out of thin air, with a computer keystroke, every time they make a new loan. That means in practical terms that the amount of money is only limited by the willingness of banks to make loans. And since banks profit by charging interest to loan out money they can create at zero cost, they’re incentivized to make a LOT of loans.
Now as you can easily see, things that aren’t scarce don’t have a lot of value. The less scarce and more easily available something is, the less valuable it becomes. If you and a friend were standing on the shore of Lake Michigan and you reached down and scooped up a cup full of water, turned to your friend, and said “I’ll trade you this cup of water for your Rolex watch,” he’d look at you like you lost your mind. And rightly so, since a cup of water on the shore of a giant lake is so abundant and easily accessible that it has no value compared to a Rolex watch, which are deliberately produced in very limited amounts to increase their scarcity and value.
The difference between money and the water in that example is that money is not scarce, but it is selectively scarce. If you’re a bank, you have access to as much money as you choose to loan out, at zero cost. On the other hand, if you aren’t a bank, money is only available if the bank decides to create some and loan it to you, or you work hard to earn money someone else already has.
This selective scarcity of money is the root cause of the massive wealth inequality we see today. Money is essential to survive in the modern economy, but access to that money is very unevenly distributed.
So how does this benefit certain people? You might be thinking, but don’t borrowers have to pay the loan back with interest? Of course it’s easy to see how the banks benefit, but plenty of wealthy people are not bankers. And that’s a good point. Here’s how.
Because of the incentives banks have to make loans, the amount of money in circulation tends to keep rising exponentially. The amount of most real goods in the economy, however, typically doesn’t rise as fast. When you have more money circulating in the economy without more goods available, the prices people are willing to pay for those goods will go up. That means prices of some scarce goods rise very consistently over time. Those with access to newly created money in the form of loans benefit by using that money to buy assets that are more scarce than the money they borrowed to buy the asset. So they may buy an asset for $1 million, but by the time the loan is due to be repaid, the continuous inflation caused by the increasing money supply might have pushed the price of that asset up to $1.5 million. So subtract the interest paid from $500,000, and there’s your profit, all for doing nothing but convincing a banker to create some money and let you borrow it. The concept that those closest to the source of new money will benefit the most, because they can buy things before the prices rise, is called the Cantillon effect.
Benefitting from the Cantillon Effect
So how can you benefit? You can see that borrowing a bunch of money and buying a good asset with it would be the perfect way to take advantage of the Cantillon effect. But the problem for most people is, if they go to the bank and ask to borrow a few hundred thousand dollars, they’ll be declined in a millisecond. If you’re not already wealthy, you’re going to have a really tough time getting a big loan at a low interest rate, which is what it takes to make this system work in your favor. Most people only have access to loans in the form of a credit card or personal loan, which will be for a small amount and a very high interest rate. That’s not helpful. Luckily there’s one exception, one way almost anyone can borrow a big chunk of money at a low interest rate, and buy an asset that will increase in price over time as the money supply grows: a mortgage.
If you have the income and credit to support a mortgage payment, it can be a great way to take advantage of the broken monetary system to accumulate some long term wealth. However, there are a few caveats and some simple tricks that can make all the difference.
First, while the constant demand for houses fueled by easy access to newly created money means house prices tend to rise consistently over time, there are no guarantees. The housing market often has periods of boom and bust, and falling prices can last for years. Borrowing is always risky, and you shouldn’t take a risk you don’t understand or aren’t comfortable with. While no one can time the housing market, it’s always good to at least be aware that the housing market does rise and fall in cycles, and try to avoid buying when all signs point to housing being extremely overpriced.
Second, just because houses are rising in price doesn’t mean they’re rising in value. It’s a simple concept, but one most people miss. Like Warren Buffet says, price is what you pay, value is what you get. If you buy a house today for $400,000, and in 10 years that same house sells for $700,000, how much did the value of the house change? The price went up, but the house is still the same house in the same location, it’s just a decade older. And a decade of wear and tear is a decrease in value, not an increase. Think of it this way. You can sell for $700,000 and you have $300,000 of “profit”. But if you want the same house back, you can’t buy it for $400,000 again and pocket the $300,000. You can only get the same house back for the full price you received. You haven’t increased your purchasing power at all in terms of housing with that “profit”. Your house hasn’t become more valuable, your money has just become less valuable when measured against houses. In that sense, you probably can’t increase your purchasing power by buying a house to live in, but you can at least avoid losing purchasing power. If you just save money in the bank to buy a house later, house prices will probably rise faster than you can save. That’s especially true if you’re paying rent at the same time. At least with a mortgage, if you pay long enough you own a house eventually. You can pay rent your whole life and you’ll still own nothing at the end.
Understanding Amortization
The key to making a mortgage work for you is to understand and manipulate the amount of principal and interest you pay over the term of the loan. To do this, you need to understand how a mortgage amortization schedule works. An amortization schedule is basically a big chart of your mortgage payments each month, showing how much of each payment is applied to paying down the principal and how much is paying interest. The payment size is the same each month, but the amount of principal and interest varies over the term of the loan, and that’s key to understanding how to manipulate the system.
To understand amortization, you need a good amortization calculator. There are plenty of different ones available online, but I’m going to use the one here to illustrate. In this example, I’m going to arbitrarily choose a mortgage size of $500,000 and an interest rate of 7%, but you can of course use your own numbers. When we enter this into the calculator with a loan term of 30 years and click “calculate”, we get something that looks like this.
You can see the monthly payment of $3,326.51, and the total payments over 30 years of almost $1.2 million, almost $700,000 of which is interest. So you end up paying more in interest than the total amount of principal you borrowed. Gulp.
That seems terrible, and it is. But this is where understanding the amortization schedule, that scary looking chart to the left, is going to pay big dividends. First, change the amortization schedule from an annual schedule to a monthly schedule. You’ll see something that looks like this.
So now for each month, you can see how much of the payment is interest, how much is principal, and how much of your original $500,000 balance is still outstanding. As you can see in month one, you’re paying over $2,900 in interest and only $400 in principal, leaving you with a balance of $499,590.15. The reason the interest is so high initially is that you have to pay interest on the full principal balance. As the principal gets paid down, you are now paying interest on a smaller balance. If you scroll down to year 29, you’ll see the opposite situation. In month 338 you’ll pay $2,900 of principal and only $400 of interest. That’s because you’re now paying interest on a balance of only $68,000 instead of $500,000.
As you can see, getting into the later years of the mortgage is a much better situation than paying huge amounts of interest in the first few years. Is there a way to get closer to the end fast? Yes there is, and you may be surprised how easy it is.
Go back to the annual amortization schedule. Suppose you want to take 5 years off your mortgage. How much would it cost to do, and how much would you save in interest? There are two ways to do this, and we’ll cover both.
First, the easiest way to get 5 years off your mortgage is to move straight down the amortization schedule to year 6. How can you do that? Look at the annual amortization schedule for year 5. Your ending balance is a little over $470,000. That means to get to that point in the loan repayment schedule, you need to pay $30,000 of principal. So let’s see where a lump sum payment of $30,000 gets us. Inside the box where you entered your loan terms you’ll see a little checkbox labeled “Optional: make extra payments”. Click that box. In the “Extra one-time pay” box, enter $30,000. Click calculate. You’ll see this.
And viola, with the extra payment, the loan will be paid off in 25 years, and you’ll save $172,362 in interest. Pretty amazing results for a one-time $30,000 payment.
Of course for the sake of simplicity, that’s assuming you pay the $30,000 at the very beginning of the loan. Paying the lump sum later into the loan term will change the exact amount of the savings. You can play around with other payment sizes, or even multiple lump sum payments, and see how much each one will save.
But most of you will be thinking, “Where am I going to get $30,000? That’s never going to happen.” If that’s you, don’t worry. We can do the exact same thing a different way.
Go back to your calculator, remove the lump sum payment, and leave everything else the same, except the loan term. Change the loan term to 25 years instead of 30 years. Click calculate. Now look at just one number, the payment size. You’ll see it’s $3,533.90. Don’t worry about anything else, just note that number. Now reset to your original calculation of a 30 year term. You’ll see the payment size is back down to $3,326.51. Now get out your calculator and subtract $3,326.51 from $3,533.90. You’ll get $207.39. Go back to your “make extra payments” box and enter an “extra monthly pay” of $207.39. Click calculate.
As you can see, just by paying an extra $207 of principal every month, you’ll pay the loan off 5 years faster and save $137,379 in interest.
You’ll save a little less that way than the lump sum payment, because you’re not paying the principal down as much early in the loan. But paying an extra $200 a month is much easier for most people than accumulating thousands of dollars to make a large lump sum payment. A few hundred dollars is only about 6% of the size of this mortgage payment, so it’s really a small difference. And if you can’t afford to pay a few percent of your payment size extra each month, the mortgage is probably bigger than you can reasonably afford.
You can play around with these numbers in all kinds of ways. It’s a good way to help you think about your financial decisions, and the real impact they might have over time. Say for example, you’re considering buying a new grill for the backyard. You only grill a few times a month during the summer, and a replacement model of the basic charcoal grill you have now would be perfectly serviceable. It’s available for $119 on Amazon. But your brother-in-law just bought one of those Big Green Eggs and he keeps bragging about how amazing it is. They’re $1,950, but you can afford it, you just got a nice little bonus at work. So why not?
But before you get out the checkbook, let’s take a quick look at the mortgage calculator. Let’s see how much that extra $1,831 spent on a grill you don’t really need will actually cost you. Again, input your mortgage size, term, and interest rate, and add an extra one-time payment of $1,831.
Hopefully you’re still using that Big Green Egg in 30 years, because by that time, it will have cost you almost $13,000 in additional interest payments.
You can fill in the blank with your own discretionary purchases and see whether they’re really worth the cost. It’s just another little tool to help plan your financial decisions. It’s free to do, and can make a very significant difference in your financial well-being down the road. But almost no one takes advantage of the opportunity, so you’ll have a huge leg up on most people just by knowing this simple concept.
The Bottom Line
To take advantage of the opportunity to build wealth with a mortgage, there are only two simple rules.
-
Use a mortgage to buy a reasonably priced house that you couldn’t otherwise afford.
-
Take advantage of amortization to pay that mortgage off as fast as possible, so you pay as little interest as possible while still capturing the increase in price of the house.
If you already own a home, you can use the same concept. Take out a mortgage for whatever amount you’re comfortable with, and use the money to buy an asset that will increase in price with inflation. Choose your asset wisely, and don’t take on more debt than you can afford. But if you make good decisions, you can take advantage of the broken financial system, using this little mortgage cheat code to get the Cantillon effect on your side. The wealthy are doing it every day, so don’t miss the opportunity to lock in long-term, fixed rate debt and acquire hard assets. As the debt/credit fiat system implodes, the opportunity to do this will disappear. Take advantage of it while you can.
-
-
@ 3f770d65:7a745b24
2025-05-20 21:14:28I’m Derek Ross, and I’m all-in on Nostr.
I started the Grow Nostr Initiative to help more people discover what makes Nostr so powerful: ✅ You own your identity ✅ You choose your social graph and algorithms ✅ You aren't locked into any single app or platform ✅ You can post, stream, chat, and build, all without gatekeepers
What we’re doing with Grow Nostr Initiative: 🌱 Hosting local meetups and mini-conferences to onboard people face-to-face 📚 Creating educational materials and guides to demystify how Nostr works 🧩 Helping businesses and creators understand how they can plug into Nostr (running media servers, relays, and using key management tools)
I believe Nostr is the foundation of a more open internet. It’s still early, but we’re already seeing incredible apps for social, blogging, podcasting, livestreaming, and more. And the best part is that they're all interoperable, censorship-resistant, and built on open standards. Nostr is the world's largest bitcoin economy by transaction volume and I truly believe that the purple pill helps the orange pill go down. Meaning, growing Nostr will also grow Bitcoin adoption.
If you’ve been curious about Nostr or are building something on it, or let’s talk. Whether you're just getting started or you're already deep in the ecosystem, I'm here to answer questions, share what I’ve learned, and hear your ideas. Check out https://nostrapps.com to find your next social decentralized experience.
Ask Me Anything about GNI, Nostr, Bitcoin, the upcoming #NosVegas event at the Bitcoin Conference next week, etc.!
– Derek Ross 🌐 https://grownostr.org npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424
https://stacker.news/items/984689
-
@ 52b4a076:e7fad8bd
2025-04-28 00:48:57I have been recently building NFDB, a new relay DB. This post is meant as a short overview.
Regular relays have challenges
Current relay software have significant challenges, which I have experienced when hosting Nostr.land: - Scalability is only supported by adding full replicas, which does not scale to large relays. - Most relays use slow databases and are not optimized for large scale usage. - Search is near-impossible to implement on standard relays. - Privacy features such as NIP-42 are lacking. - Regular DB maintenance tasks on normal relays require extended downtime. - Fault-tolerance is implemented, if any, using a load balancer, which is limited. - Personalization and advanced filtering is not possible. - Local caching is not supported.
NFDB: A scalable database for large relays
NFDB is a new database meant for medium-large scale relays, built on FoundationDB that provides: - Near-unlimited scalability - Extended fault tolerance - Instant loading - Better search - Better personalization - and more.
Search
NFDB has extended search capabilities including: - Semantic search: Search for meaning, not words. - Interest-based search: Highlight content you care about. - Multi-faceted queries: Easily filter by topic, author group, keywords, and more at the same time. - Wide support for event kinds, including users, articles, etc.
Personalization
NFDB allows significant personalization: - Customized algorithms: Be your own algorithm. - Spam filtering: Filter content to your WoT, and use advanced spam filters. - Topic mutes: Mute topics, not keywords. - Media filtering: With Nostr.build, you will be able to filter NSFW and other content - Low data mode: Block notes that use high amounts of cellular data. - and more
Other
NFDB has support for many other features such as: - NIP-42: Protect your privacy with private drafts and DMs - Microrelays: Easily deploy your own personal microrelay - Containers: Dedicated, fast storage for discoverability events such as relay lists
Calcite: A local microrelay database
Calcite is a lightweight, local version of NFDB that is meant for microrelays and caching, meant for thousands of personal microrelays.
Calcite HA is an additional layer that allows live migration and relay failover in under 30 seconds, providing higher availability compared to current relays with greater simplicity. Calcite HA is enabled in all Calcite deployments.
For zero-downtime, NFDB is recommended.
Noswhere SmartCache
Relays are fixed in one location, but users can be anywhere.
Noswhere SmartCache is a CDN for relays that dynamically caches data on edge servers closest to you, allowing: - Multiple regions around the world - Improved throughput and performance - Faster loading times
routerd
routerd
is a custom load-balancer optimized for Nostr relays, integrated with SmartCache.routerd
is specifically integrated with NFDB and Calcite HA to provide fast failover and high performance.Ending notes
NFDB is planned to be deployed to Nostr.land in the coming weeks.
A lot more is to come. 👀️️️️️️
-
@ b0a838f2:34ed3f19
2025-05-23 18:06:45- Aleph - Tool for indexing large amounts of both documents (PDF, Word, HTML) and structured (CSV, XLS, SQL) data for easy browsing and search. It is built with investigative reporting as a primary use case. (Demo, Source Code)
MIT
Docker/K8S
- Apache Solr - Enterprise search platform featuring full-text search, hit highlighting, faceted search, real-time indexing, dynamic clustering, and rich document (e.g., Word, PDF) handling. (Source Code)
Apache-2.0
Java/Docker/K8S
- Fess - Powerful and easily deployable Enterprise Search Server. (Demo, Source Code)
Apache-2.0
Java/Docker
- Jina - Cloud-native neural search framework for any kind of data.
Apache-2.0
Python/Docker
- Manticore Search - Full-text search and data analytics, with fast response time for small, medium and big data (alternative to Elasticsearch).
GPL-3.0
Docker/deb/C++/K8S
- MeiliSearch - Ultra relevant, instant and typo-tolerant full-text search API. (Source Code)
MIT
Rust/Docker/deb
- OpenSearch - Distributed and RESTful search engine. (Source Code)
Apache-2.0
Java/Docker/K8S/deb
- SearXNG
⚠
- Internet metasearch engine which aggregates results from various search services and databases (Fork of Searx). (Source Code)AGPL-3.0
Python/Docker
- sist2 - Lightning-fast file system indexer and search tool.
GPL-3.0
C/Docker
- Sosse - Selenium based search engine and crawler with offline archiving. (Source Code)
AGPL-3.0
Python/Docker
- Typesense - Blazing fast, typo-tolerant open source search engine optimized for developer happiness and ease of use. (Source Code)
GPL-3.0
C++/Docker/K8S/deb
- Websurfx
⚠
- Aggregate results from other search engines (metasearch engine) without ads while keeping privacy and security in mind. It is extremely fast and provides a high level of customization (alternative to SearX).AGPL-3.0
Rust/Docker
- Whoogle
⚠
- A self-hosted, ad-free, privacy-respecting metasearch engine.MIT
Python
- Yacy - Peer based, decentralized search engine server. (Source Code)
GPL-2.0
Java/Docker/K8S
- ZincSearch - Search engine that requires minimal resources (alternative to Elasticsearch). (Demo, Source Code)
Apache-2.0
Go/Docker/K8S
- Aleph - Tool for indexing large amounts of both documents (PDF, Word, HTML) and structured (CSV, XLS, SQL) data for easy browsing and search. It is built with investigative reporting as a primary use case. (Demo, Source Code)
-
@ b0a838f2:34ed3f19
2025-05-23 18:06:22- Dolibarr - Modern CRM software package to manage your company or foundation activity (contacts, suppliers, invoices, orders, stocks, agenda, accounting, ...). (Demo, Source Code)
GPL-3.0
PHP/deb
- ERPNext - ERP system to help you run your business. (Source Code)
GPL-3.0
Python/Docker
- farmOS - Web-based farm record keeping application. (Demo, Source Code)
GPL-2.0
PHP/Docker
- grocy - ERP beyond your fridge. Groceries & household management solution for your home. (Demo, Source Code)
MIT
PHP/Docker
- LedgerSMB - Integrated accounting and ERP system for small and midsize businesses, with double entry accounting, budgeting, invoicing, quotations, projects, orders and inventory management, shipping and more. (Demo, Source Code)
GPL-2.0
Docker/Perl
- Odoo - Free open source ERP system. (Demo, Source Code)
LGPL-3.0
Python/deb/Docker
- OFBiz - Enterprise Resource Planning system with a suite of business applications flexible enough to be used across any industry. (Source Code)
Apache-2.0
Java
- Tryton - Free open source business solution. (Demo, Source Code)
GPL-3.0
Python
- Dolibarr - Modern CRM software package to manage your company or foundation activity (contacts, suppliers, invoices, orders, stocks, agenda, accounting, ...). (Demo, Source Code)
-
@ 91bea5cd:1df4451c
2025-04-26 10:16:21O Contexto Legal Brasileiro e o Consentimento
No ordenamento jurídico brasileiro, o consentimento do ofendido pode, em certas circunstâncias, afastar a ilicitude de um ato que, sem ele, configuraria crime (como lesão corporal leve, prevista no Art. 129 do Código Penal). Contudo, o consentimento tem limites claros: não é válido para bens jurídicos indisponíveis, como a vida, e sua eficácia é questionável em casos de lesões corporais graves ou gravíssimas.
A prática de BDSM consensual situa-se em uma zona complexa. Em tese, se ambos os parceiros são adultos, capazes, e consentiram livre e informadamente nos atos praticados, sem que resultem em lesões graves permanentes ou risco de morte não consentido, não haveria crime. O desafio reside na comprovação desse consentimento, especialmente se uma das partes, posteriormente, o negar ou alegar coação.
A Lei Maria da Penha (Lei nº 11.340/2006)
A Lei Maria da Penha é um marco fundamental na proteção da mulher contra a violência doméstica e familiar. Ela estabelece mecanismos para coibir e prevenir tal violência, definindo suas formas (física, psicológica, sexual, patrimonial e moral) e prevendo medidas protetivas de urgência.
Embora essencial, a aplicação da lei em contextos de BDSM pode ser delicada. Uma alegação de violência por parte da mulher, mesmo que as lesões ou situações decorram de práticas consensuais, tende a receber atenção prioritária das autoridades, dada a presunção de vulnerabilidade estabelecida pela lei. Isso pode criar um cenário onde o parceiro masculino enfrenta dificuldades significativas em demonstrar a natureza consensual dos atos, especialmente se não houver provas robustas pré-constituídas.
Outros riscos:
Lesão corporal grave ou gravíssima (art. 129, §§ 1º e 2º, CP), não pode ser justificada pelo consentimento, podendo ensejar persecução penal.
Crimes contra a dignidade sexual (arts. 213 e seguintes do CP) são de ação pública incondicionada e independem de representação da vítima para a investigação e denúncia.
Riscos de Falsas Acusações e Alegação de Coação Futura
Os riscos para os praticantes de BDSM, especialmente para o parceiro que assume o papel dominante ou que inflige dor/restrição (frequentemente, mas não exclusivamente, o homem), podem surgir de diversas frentes:
- Acusações Externas: Vizinhos, familiares ou amigos que desconhecem a natureza consensual do relacionamento podem interpretar sons, marcas ou comportamentos como sinais de abuso e denunciar às autoridades.
- Alegações Futuras da Parceira: Em caso de término conturbado, vingança, arrependimento ou mudança de perspectiva, a parceira pode reinterpretar as práticas passadas como abuso e buscar reparação ou retaliação através de uma denúncia. A alegação pode ser de que o consentimento nunca existiu ou foi viciado.
- Alegação de Coação: Uma das formas mais complexas de refutar é a alegação de que o consentimento foi obtido mediante coação (física, moral, psicológica ou econômica). A parceira pode alegar, por exemplo, que se sentia pressionada, intimidada ou dependente, e que seu "sim" não era genuíno. Provar a ausência de coação a posteriori é extremamente difícil.
- Ingenuidade e Vulnerabilidade Masculina: Muitos homens, confiando na dinâmica consensual e na parceira, podem negligenciar a necessidade de precauções. A crença de que "isso nunca aconteceria comigo" ou a falta de conhecimento sobre as implicações legais e o peso processual de uma acusação no âmbito da Lei Maria da Penha podem deixá-los vulneráveis. A presença de marcas físicas, mesmo que consentidas, pode ser usada como evidência de agressão, invertendo o ônus da prova na prática, ainda que não na teoria jurídica.
Estratégias de Prevenção e Mitigação
Não existe um método infalível para evitar completamente o risco de uma falsa acusação, mas diversas medidas podem ser adotadas para construir um histórico de consentimento e reduzir vulnerabilidades:
- Comunicação Explícita e Contínua: A base de qualquer prática BDSM segura é a comunicação constante. Negociar limites, desejos, palavras de segurança ("safewords") e expectativas antes, durante e depois das cenas é crucial. Manter registros dessas negociações (e-mails, mensagens, diários compartilhados) pode ser útil.
-
Documentação do Consentimento:
-
Contratos de Relacionamento/Cena: Embora a validade jurídica de "contratos BDSM" seja discutível no Brasil (não podem afastar normas de ordem pública), eles servem como forte evidência da intenção das partes, da negociação detalhada de limites e do consentimento informado. Devem ser claros, datados, assinados e, idealmente, reconhecidos em cartório (para prova de data e autenticidade das assinaturas).
-
Registros Audiovisuais: Gravar (com consentimento explícito para a gravação) discussões sobre consentimento e limites antes das cenas pode ser uma prova poderosa. Gravar as próprias cenas é mais complexo devido a questões de privacidade e potencial uso indevido, mas pode ser considerado em casos específicos, sempre com consentimento mútuo documentado para a gravação.
Importante: a gravação deve ser com ciência da outra parte, para não configurar violação da intimidade (art. 5º, X, da Constituição Federal e art. 20 do Código Civil).
-
-
Testemunhas: Em alguns contextos de comunidade BDSM, a presença de terceiros de confiança durante negociações ou mesmo cenas pode servir como testemunho, embora isso possa alterar a dinâmica íntima do casal.
- Estabelecimento Claro de Limites e Palavras de Segurança: Definir e respeitar rigorosamente os limites (o que é permitido, o que é proibido) e as palavras de segurança é fundamental. O desrespeito a uma palavra de segurança encerra o consentimento para aquele ato.
- Avaliação Contínua do Consentimento: O consentimento não é um cheque em branco; ele deve ser entusiástico, contínuo e revogável a qualquer momento. Verificar o bem-estar do parceiro durante a cena ("check-ins") é essencial.
- Discrição e Cuidado com Evidências Físicas: Ser discreto sobre a natureza do relacionamento pode evitar mal-entendidos externos. Após cenas que deixem marcas, é prudente que ambos os parceiros estejam cientes e de acordo, talvez documentando por fotos (com data) e uma nota sobre a consensualidade da prática que as gerou.
- Aconselhamento Jurídico Preventivo: Consultar um advogado especializado em direito de família e criminal, com sensibilidade para dinâmicas de relacionamento alternativas, pode fornecer orientação personalizada sobre as melhores formas de documentar o consentimento e entender os riscos legais específicos.
Observações Importantes
- Nenhuma documentação substitui a necessidade de consentimento real, livre, informado e contínuo.
- A lei brasileira protege a "integridade física" e a "dignidade humana". Práticas que resultem em lesões graves ou que violem a dignidade de forma não consentida (ou com consentimento viciado) serão ilegais, independentemente de qualquer acordo prévio.
- Em caso de acusação, a existência de documentação robusta de consentimento não garante a absolvição, mas fortalece significativamente a defesa, ajudando a demonstrar a natureza consensual da relação e das práticas.
-
A alegação de coação futura é particularmente difícil de prevenir apenas com documentos. Um histórico consistente de comunicação aberta (whatsapp/telegram/e-mails), respeito mútuo e ausência de dependência ou controle excessivo na relação pode ajudar a contextualizar a dinâmica como não coercitiva.
-
Cuidado com Marcas Visíveis e Lesões Graves Práticas que resultam em hematomas severos ou lesões podem ser interpretadas como agressão, mesmo que consentidas. Evitar excessos protege não apenas a integridade física, mas também evita questionamentos legais futuros.
O que vem a ser consentimento viciado
No Direito, consentimento viciado é quando a pessoa concorda com algo, mas a vontade dela não é livre ou plena — ou seja, o consentimento existe formalmente, mas é defeituoso por alguma razão.
O Código Civil brasileiro (art. 138 a 165) define várias formas de vício de consentimento. As principais são:
Erro: A pessoa se engana sobre o que está consentindo. (Ex.: A pessoa acredita que vai participar de um jogo leve, mas na verdade é exposta a práticas pesadas.)
Dolo: A pessoa é enganada propositalmente para aceitar algo. (Ex.: Alguém mente sobre o que vai acontecer durante a prática.)
Coação: A pessoa é forçada ou ameaçada a consentir. (Ex.: "Se você não aceitar, eu termino com você" — pressão emocional forte pode ser vista como coação.)
Estado de perigo ou lesão: A pessoa aceita algo em situação de necessidade extrema ou abuso de sua vulnerabilidade. (Ex.: Alguém em situação emocional muito fragilizada é induzida a aceitar práticas que normalmente recusaria.)
No contexto de BDSM, isso é ainda mais delicado: Mesmo que a pessoa tenha "assinado" um contrato ou dito "sim", se depois ela alegar que seu consentimento foi dado sob medo, engano ou pressão psicológica, o consentimento pode ser considerado viciado — e, portanto, juridicamente inválido.
Isso tem duas implicações sérias:
-
O crime não se descaracteriza: Se houver vício, o consentimento é ignorado e a prática pode ser tratada como crime normal (lesão corporal, estupro, tortura, etc.).
-
A prova do consentimento precisa ser sólida: Mostrando que a pessoa estava informada, lúcida, livre e sem qualquer tipo de coação.
Consentimento viciado é quando a pessoa concorda formalmente, mas de maneira enganada, forçada ou pressionada, tornando o consentimento inútil para efeitos jurídicos.
Conclusão
Casais que praticam BDSM consensual no Brasil navegam em um terreno que exige não apenas confiança mútua e comunicação excepcional, mas também uma consciência aguçada das complexidades legais e dos riscos de interpretações equivocadas ou acusações mal-intencionadas. Embora o BDSM seja uma expressão legítima da sexualidade humana, sua prática no Brasil exige responsabilidade redobrada. Ter provas claras de consentimento, manter a comunicação aberta e agir com prudência são formas eficazes de se proteger de falsas alegações e preservar a liberdade e a segurança de todos os envolvidos. Embora leis controversas como a Maria da Penha sejam "vitais" para a proteção contra a violência real, os praticantes de BDSM, e em particular os homens nesse contexto, devem adotar uma postura proativa e prudente para mitigar os riscos inerentes à potencial má interpretação ou instrumentalização dessas práticas e leis, garantindo que a expressão de sua consensualidade esteja resguardada na medida do possível.
Importante: No Brasil, mesmo com tudo isso, o Ministério Público pode denunciar por crime como lesão corporal grave, estupro ou tortura, independente de consentimento. Então a prudência nas práticas é fundamental.
Aviso Legal: Este artigo tem caráter meramente informativo e não constitui aconselhamento jurídico. As leis e interpretações podem mudar, e cada situação é única. Recomenda-se buscar orientação de um advogado qualificado para discutir casos específicos.
Se curtiu este artigo faça uma contribuição, se tiver algum ponto relevante para o artigo deixe seu comentário.
-
@ 04c915da:3dfbecc9
2025-05-20 15:50:48For years American bitcoin miners have argued for more efficient and free energy markets. It benefits everyone if our energy infrastructure is as efficient and robust as possible. Unfortunately, broken incentives have led to increased regulation throughout the sector, incentivizing less efficient energy sources such as solar and wind at the detriment of more efficient alternatives.
The result has been less reliable energy infrastructure for all Americans and increased energy costs across the board. This naturally has a direct impact on bitcoin miners: increased energy costs make them less competitive globally.
Bitcoin mining represents a global energy market that does not require permission to participate. Anyone can plug a mining computer into power and internet to get paid the current dynamic market price for their work in bitcoin. Using cellphone or satellite internet, these mines can be located anywhere in the world, sourcing the cheapest power available.
Absent of regulation, bitcoin mining naturally incentivizes the build out of highly efficient and robust energy infrastructure. Unfortunately that world does not exist and burdensome regulations remain the biggest threat for US based mining businesses. Jurisdictional arbitrage gives miners the option of moving to a friendlier country but that naturally comes with its own costs.
Enter AI. With the rapid development and release of AI tools comes the requirement of running massive datacenters for their models. Major tech companies are scrambling to secure machines, rack space, and cheap energy to run full suites of AI enabled tools and services. The most valuable and powerful tech companies in America have stumbled into an accidental alliance with bitcoin miners: THE NEED FOR CHEAP AND RELIABLE ENERGY.
Our government is corrupt. Money talks. These companies will push for energy freedom and it will greatly benefit us all.
-
@ b0a838f2:34ed3f19
2025-05-23 18:06:04- Engity's Bifröst - Highly customizable SSH server with several ways to authorize a user and options where and how to execute a user's session. (Source Code)
Apache-2.0
Go/Docker
- Firezone - Secure remote access gateway that supports the WireGuard protocol. It offers a Web GUI, 1-line install script, multi-factor auth (MFA), and SSO. (Source Code)
Apache-2.0
Elixir/Docker
- Guacamole - Clientless remote desktop gateway supporting standard protocols like VNC and RDP. (Source Code)
Apache-2.0
Java/C
- MeshCentral - Run your own web server to remotely manage and control computers on a local network or anywhere on the internet. (Source Code)
Apache-2.0
Nodejs
- Remotely - A remote desktop control and remote scripting solution, enterprise level remote support solution with admin web interface and remote control via browser.
GPL-3.0
C#/Docker
- RustDesk - Remote Desktop Access software that works out-of-the-box (alternative to TeamViewer). (Source Code)
AGPL-3.0
Rust/Docker/deb
- ShellHub - ShellHub is a modern SSH server for remotely accessing linux devices via command line (using any SSH client) or web-based user interface, designed as an alternative to sshd. (Source Code)
Apache-2.0
Docker
- Sshwifty - Sshwifty is a SSH and Telnet connector made for the Web. (Demo)
AGPL-3.0
Go/Docker
- Warpgate - Smart SSH and HTTPS bastion that works with any SSH client.
Apache-2.0
Rust/Docker
- Engity's Bifröst - Highly customizable SSH server with several ways to authorize a user and options where and how to execute a user's session. (Source Code)
-
@ b0a838f2:34ed3f19
2025-05-23 18:05:47- Bar Assistant - Manage your home bar while adding your ingredients, searching for cocktails and creating custom cocktail recipes. (Demo, Source Code)
MIT
PHP/Docker
- Fork Recipes - Manage your food recipes with simplicity. (Source Code)
BSD-3-Clause
Docker
- KitchenOwl - Cross-platform shopping list, recipe storage, expense tracker, and meal planner following the material design language. (Source Code)
AGPL-3.0
Docker/deb
- ManageMeals - Manage recipes, import recipes by URL and organize them without any ads or unnecessary text. (Demo, Source Code)
GPL-3.0
Docker
- Mealie - Material design inspired recipe manager with category and tag management, shopping-lists, meal-planner, and site customizations. Mealie is focused on simple user interactions to keep the whole family using the app. (Source Code)
MIT
Python
- RecipeSage - A recipe keeper, meal plan organizer, and shopping list manager that can import recipes directly from any URL. (Demo)
AGPL-3.0
Nodejs
- Recipya - A clean, simple and powerful recipe manager your whole family will enjoy. (Demo, Source Code)
GPL-3.0
Docker/Go
- Specifically Clementines - Grocery shopping app (previously Groceries), providing reliable sync with multiple users/devices (web/Android/iOS), recipes and integration with Tandoor. (Source Code)
MIT
Docker
- Tamari - Recipe manager web app with a built-in collection of recipes. Organize by favorites and categories, create shopping lists, and plan meals. (Demo, Source Code)
GPL-3.0
Docker/Python
- What To Cook? - Get a recipe to cook today, based on the ingredients you have at home.
AGPL-3.0
Docker
- Bar Assistant - Manage your home bar while adding your ingredients, searching for cocktails and creating custom cocktail recipes. (Demo, Source Code)
-
@ e691f4df:1099ad65
2025-04-24 18:56:12Viewing Bitcoin Through the Light of Awakening
Ankh & Ohm Capital’s Overview of the Psycho-Spiritual Nature of Bitcoin
Glossary:
I. Preface: The Logos of Our Logo
II. An Oracular Introduction
III. Alchemizing Greed
IV. Layers of Fractalized Thought
V. Permissionless Individuation
VI. Dispelling Paradox Through Resonance
VII. Ego Deflation
VIII. The Coin of Great Price
Preface: The Logos of Our Logo
Before we offer our lens on Bitcoin, it’s important to illuminate the meaning behind Ankh & Ohm’s name and symbol. These elements are not ornamental—they are foundational, expressing the cosmological principles that guide our work.
Our mission is to bridge the eternal with the practical. As a Bitcoin-focused family office and consulting firm, we understand capital not as an end, but as a tool—one that, when properly aligned, becomes a vehicle for divine order. We see Bitcoin not simply as a technological innovation but as an emanation of the Divine Logos—a harmonic expression of truth, transparency, and incorruptible structure. Both the beginning and the end, the Alpha and Omega.
The Ankh (☥), an ancient symbol of eternal life, is a key to the integration of opposites. It unites spirit and matter, force and form, continuity and change. It reminds us that capital, like Life, must not only be generative, but regenerative; sacred. Money must serve Life, not siphon from it.
The Ohm (Ω) holds a dual meaning. In physics, it denotes a unit of electrical resistance—the formative tension that gives energy coherence. In the Vedic tradition, Om (ॐ) is the primordial vibration—the sound from which all existence unfolds. Together, these symbols affirm a timeless truth: resistance and resonance are both sacred instruments of the Creator.
Ankh & Ohm, then, represents our striving for union, for harmony —between the flow of life and intentional structure, between incalculable abundance and measured restraint, between the lightbulb’s electrical impulse and its light-emitting filament. We stand at the threshold where intention becomes action, and where capital is not extracted, but cultivated in rhythm with the cosmos.
We exist to shepherd this transformation, as guides of this threshold —helping families, founders, and institutions align with a deeper order, where capital serves not as the prize, but as a pathway to collective Presence, Purpose, Peace and Prosperity.
An Oracular Introduction
Bitcoin is commonly understood as the first truly decentralized and secure form of digital money—a breakthrough in monetary sovereignty. But this view, while technically correct, is incomplete and spiritually shallow. Bitcoin is more than a tool for economic disruption. Bitcoin represents a mythic threshold: a symbol of the psycho-spiritual shift that many ancient traditions have long foretold.
For millennia, sages and seers have spoken of a coming Golden Age. In the Vedic Yuga cycles, in Plato’s Great Year, in the Eagle and Condor prophecies of the Americas—there exists a common thread: that humanity will emerge from darkness into a time of harmony, cooperation, and clarity. That the veil of illusion (maya, materiality) will thin, and reality will once again become transparent to the transcendent. In such an age, systems based on scarcity, deception, and centralization fall away. A new cosmology takes root—one grounded in balance, coherence, and sacred reciprocity.
But we must ask—how does such a shift happen? How do we cross from the age of scarcity, fear, and domination into one of coherence, abundance, and freedom?
One possible answer lies in the alchemy of incentive.
Bitcoin operates not just on the rules of computer science or Austrian economics, but on something far more old and subtle: the logic of transformation. It transmutes greed—a base instinct rooted in scarcity—into cooperation, transparency, and incorruptibility.
In this light, Bitcoin becomes more than code—it becomes a psychoactive protocol, one that rewires human behavior by aligning individual gain with collective integrity. It is not simply a new form of money. It is a new myth of value. A new operating system for human consciousness.
Bitcoin does not moralize. It harmonizes. It transforms the instinct for self-preservation into a pathway for planetary coherence.
Alchemizing Greed
At the heart of Bitcoin lies the ancient alchemical principle of transmutation: that which is base may be refined into gold.
Greed, long condemned as a vice, is not inherently evil. It is a distorted longing. A warped echo of the drive to preserve life. But in systems built on scarcity and deception, this longing calcifies into hoarding, corruption, and decay.
Bitcoin introduces a new game. A game with memory. A game that makes deception inefficient and truth profitable. It does not demand virtue—it encodes consequence. Its design does not suppress greed; it reprograms it.
In traditional models, game theory often illustrates the fragility of trust. The Prisoner’s Dilemma reveals how self-interest can sabotage collective well-being. But Bitcoin inverts this. It creates an environment where self-interest and integrity converge—where the most rational action is also the most truthful.
Its ledger, immutable and transparent, exposes manipulation for what it is: energetically wasteful and economically self-defeating. Dishonesty burns energy and yields nothing. The network punishes incoherence, not by decree, but by natural law.
This is the spiritual elegance of Bitcoin: it does not suppress greed—it transmutes it. It channels the drive for personal gain into the architecture of collective order. Miners compete not to dominate, but to validate. Nodes collaborate not through trust, but through mathematical proof.
This is not austerity. It is alchemy.
Greed, under Bitcoin, is refined. Tempered. Re-forged into a generative force—no longer parasitic, but harmonic.
Layers of Fractalized Thought Fragments
All living systems are layered. So is the cosmos. So is the human being. So is a musical scale.
At its foundation lies the timechain—the pulsing, incorruptible record of truth. Like the heart, it beats steadily. Every block, like a pulse, affirms its life through continuity. The difficulty adjustment—Bitcoin’s internal calibration—functions like heart rate variability, adapting to pressure while preserving coherence.
Above this base layer is the Lightning Network—a second layer facilitating rapid, efficient transactions. It is the nervous system: transmitting energy, reducing latency, enabling real-time interaction across a distributed whole.
Beyond that, emerging tools like Fedimint and Cashu function like the capillaries—bringing vitality to the extremities, to those underserved by legacy systems. They empower the unbanked, the overlooked, the forgotten. Privacy and dignity in the palms of those the old system refused to see.
And then there is NOSTR—the decentralized protocol for communication and creation. It is the throat chakra, the vocal cords of the “freedom-tech” body. It reclaims speech from the algorithmic overlords, making expression sovereign once more. It is also the reproductive system, as it enables the propagation of novel ideas and protocols in fertile, uncensorable soil.
Each layer plays its part. Not in hierarchy, but in harmony. In holarchy. Bitcoin and other open source protocols grow not through exogenous command, but through endogenous coherence. Like cells in an organism. Like a song.
Imagine the cell as a piece of glass from a shattered holographic plate —by which its perspectival, moving image can be restructured from the single shard. DNA isn’t only a logical script of base pairs, but an evolving progressive song. Its lyrics imbued with wise reflections on relationships. The nucleus sings, the cell responds—not by command, but by memory. Life is not imposed; it is expressed. A reflection of a hidden pattern.
Bitcoin chants this. Each node, a living cell, holds the full timechain—Truth distributed, incorruptible. Remove one, and the whole remains. This isn’t redundancy. It’s a revelation on the power of protection in Truth.
Consensus is communion. Verification becomes a sacred rite—Truth made audible through math.
Not just the signal; the song. A web of self-expression woven from Truth.
No center, yet every point alive with the whole. Like Indra’s Net, each reflects all. This is more than currency and information exchange. It is memory; a self-remembering Mind, unfolding through consensus and code. A Mind reflecting the Truth of reality at the speed of thought.
Heuristics are mental shortcuts—efficient, imperfect, alive. Like cells, they must adapt or decay. To become unbiased is to have self-balancing heuristics which carry feedback loops within them: they listen to the environment, mutate when needed, and survive by resonance with reality. Mutation is not error, but evolution. Its rules are simple, but their expression is dynamic.
What persists is not rigidity, but pattern.
To think clearly is not necessarily to be certain, but to dissolve doubt by listening, adjusting, and evolving thought itself.
To understand Bitcoin is simply to listen—patiently, clearly, as one would to a familiar rhythm returning.
Permissionless Individuation
Bitcoin is a path. One that no one can walk for you.
Said differently, it is not a passive act. It cannot be spoon-fed. Like a spiritual path, it demands initiation, effort, and the willingness to question inherited beliefs.
Because Bitcoin is permissionless, no one can be forced to adopt it. One must choose to engage it—compelled by need, interest, or intuition. Each person who embarks undergoes their own version of the hero’s journey.
Carl Jung called this process Individuation—the reconciliation of fragmented psychic elements into a coherent, mature Self. Bitcoin mirrors this: it invites individuals to confront the unconscious assumptions of the fiat paradigm, and to re-integrate their relationship to time, value, and agency.
In Western traditions—alchemy, Christianity, Kabbalah—the individual is sacred, and salvation is personal. In Eastern systems—Daoism, Buddhism, the Vedas—the self is ultimately dissolved into the cosmic whole. Bitcoin, in a paradoxical way, echoes both: it empowers the individual, while aligning them with a holistic, transcendent order.
To truly see Bitcoin is to allow something false to die. A belief. A habit. A self-concept.
In that death—a space opens for deeper connection with the Divine itSelf.
In that dissolution, something luminous is reborn.
After the passing, Truth becomes resurrected.
Dispelling Paradox Through Resonance
There is a subtle paradox encoded into the hero’s journey: each starts in solidarity, yet the awakening affects the collective.
No one can be forced into understanding Bitcoin. Like a spiritual truth, it must be seen. And yet, once seen, it becomes nearly impossible to unsee—and easier for others to glimpse. The pattern catches.
This phenomenon mirrors the concept of morphic resonance, as proposed and empirically tested by biologist Rupert Sheldrake. Once a critical mass of individuals begins to embody a new behavior or awareness, it becomes easier—instinctive—for others to follow suit. Like the proverbial hundredth monkey who begins to wash the fruit in the sea water, and suddenly, monkeys across islands begin doing the same—without ever meeting.
When enough individuals embody a pattern, it ripples outward. Not through propaganda, but through field effect and wave propagation. It becomes accessible, instinctive, familiar—even across great distance.
Bitcoin spreads in this way. Not through centralized broadcast, but through subtle resonance. Each new node, each individual who integrates the protocol into their life, strengthens the signal for others. The protocol doesn’t shout; it hums, oscillates and vibrates——persistently, coherently, patiently.
One awakens. Another follows. The current builds. What was fringe becomes familiar. What was radical becomes obvious.
This is the sacred geometry of spiritual awakening. One awakens, another follows, and soon the fluidic current is strong enough to carry the rest. One becomes two, two become many, and eventually the many become One again. This tessellation reverberates through the human aura, not as ideology, but as perceivable pattern recognition.
Bitcoin’s most powerful marketing tool is truth. Its most compelling evangelist is reality. Its most unstoppable force is resonance.
Therefore, Bitcoin is not just financial infrastructure—it is psychic scaffolding. It is part of the subtle architecture through which new patterns of coherence ripple across the collective field.
The training wheels from which humanity learns to embody Peace and Prosperity.
Ego Deflation
The process of awakening is not linear, and its beginning is rarely gentle—it usually begins with disruption, with ego inflation and destruction.
To individuate is to shape a center; to recognize peripherals and create boundaries—to say, “I am.” But without integration, the ego tilts—collapsing into void or inflating into noise. Fiat reflects this pathology: scarcity hoarded, abundance simulated. Stagnation becomes disguised as safety, and inflation masquerades as growth.
In other words, to become whole, the ego must first rise—claiming agency, autonomy, and identity. However, when left unbalanced, it inflates, or implodes. It forgets its context. It begins to consume rather than connect. And so the process must reverse: what inflates must deflate.
In the fiat paradigm, this inflation is literal. More is printed, and ethos is diluted. Savings decay. Meaning erodes. Value is abstracted. The economy becomes bloated with inaudible noise. And like the psyche that refuses to confront its own shadow, it begins to collapse under the weight of its own illusions.
But under Bitcoin, time is honored. Value is preserved. Energy is not abstracted but grounded.
Bitcoin is inherently deflationary—in both economic and spiritual senses. With a fixed supply, it reveals what is truly scarce. Not money, not status—but the finite number of heartbeats we each carry.
To see Bitcoin is to feel that limit in one’s soul. To hold Bitcoin is to feel Time’s weight again. To sense the importance of Bitcoin is to feel the value of preserved, potential energy. It is to confront the reality that what matters cannot be printed, inflated, or faked. In this way, Bitcoin gently confronts the ego—not through punishment, but through clarity.
Deflation, rightly understood, is not collapse—it is refinement. It strips away illusion, bloat, and excess. It restores the clarity of essence.
Spiritually, this is liberation.
The Coin of Great Price
There is an ancient parable told by a wise man:
“The kingdom of heaven is like a merchant seeking fine pearls, who, upon finding one of great price, sold all he had and bought it.”
Bitcoin is such a pearl.
But the ledger is more than a chest full of treasure. It is a key to the heart of things.
It is not just software—it is sacrament.
A symbol of what cannot be corrupted. A mirror of divine order etched into code. A map back to the sacred center.
It reflects what endures. It encodes what cannot be falsified. It remembers what we forgot: that Truth, when aligned with form, becomes Light once again.
Its design is not arbitrary. It speaks the language of life itself—
The elliptic orbits of the planets mirrored in its cryptography,
The logarithmic spiral of the nautilus shell discloses its adoption rate,
The interconnectivity of mycelium in soil reflect the network of nodes in cyberspace,
A webbed breadth of neurons across synaptic space fires with each new confirmed transaction.
It is geometry in devotion. Stillness in motion.
It is the Logos clothed in protocol.
What this key unlocks is beyond external riches. It is the eternal gold within us.
Clarity. Sovereignty. The unshakeable knowing that what is real cannot be taken. That what is sacred was never for sale.
Bitcoin is not the destination.
It is the Path.
And we—when we are willing to see it—are the Temple it leads back to.
-
@ 40b9c85f:5e61b451
2025-04-24 15:27:02Introduction
Data Vending Machines (DVMs) have emerged as a crucial component of the Nostr ecosystem, offering specialized computational services to clients across the network. As defined in NIP-90, DVMs operate on an apparently simple principle: "data in, data out." They provide a marketplace for data processing where users request specific jobs (like text translation, content recommendation, or AI text generation)
While DVMs have gained significant traction, the current specification faces challenges that hinder widespread adoption and consistent implementation. This article explores some ideas on how we can apply the reflection pattern, a well established approach in RPC systems, to address these challenges and improve the DVM ecosystem's clarity, consistency, and usability.
The Current State of DVMs: Challenges and Limitations
The NIP-90 specification provides a broad framework for DVMs, but this flexibility has led to several issues:
1. Inconsistent Implementation
As noted by hzrd149 in "DVMs were a mistake" every DVM implementation tends to expect inputs in slightly different formats, even while ostensibly following the same specification. For example, a translation request DVM might expect an event ID in one particular format, while an LLM service could expect a "prompt" input that's not even specified in NIP-90.
2. Fragmented Specifications
The DVM specification reserves a range of event kinds (5000-6000), each meant for different types of computational jobs. While creating sub-specifications for each job type is being explored as a possible solution for clarity, in a decentralized and permissionless landscape like Nostr, relying solely on specification enforcement won't be effective for creating a healthy ecosystem. A more comprehensible approach is needed that works with, rather than against, the open nature of the protocol.
3. Ambiguous API Interfaces
There's no standardized way for clients to discover what parameters a specific DVM accepts, which are required versus optional, or what output format to expect. This creates uncertainty and forces developers to rely on documentation outside the protocol itself, if such documentation exists at all.
The Reflection Pattern: A Solution from RPC Systems
The reflection pattern in RPC systems offers a compelling solution to many of these challenges. At its core, reflection enables servers to provide metadata about their available services, methods, and data types at runtime, allowing clients to dynamically discover and interact with the server's API.
In established RPC frameworks like gRPC, reflection serves as a self-describing mechanism where services expose their interface definitions and requirements. In MCP reflection is used to expose the capabilities of the server, such as tools, resources, and prompts. Clients can learn about available capabilities without prior knowledge, and systems can adapt to changes without requiring rebuilds or redeployments. This standardized introspection creates a unified way to query service metadata, making tools like
grpcurl
possible without requiring precompiled stubs.How Reflection Could Transform the DVM Specification
By incorporating reflection principles into the DVM specification, we could create a more coherent and predictable ecosystem. DVMs already implement some sort of reflection through the use of 'nip90params', which allow clients to discover some parameters, constraints, and features of the DVMs, such as whether they accept encryption, nutzaps, etc. However, this approach could be expanded to provide more comprehensive self-description capabilities.
1. Defined Lifecycle Phases
Similar to the Model Context Protocol (MCP), DVMs could benefit from a clear lifecycle consisting of an initialization phase and an operation phase. During initialization, the client and DVM would negotiate capabilities and exchange metadata, with the DVM providing a JSON schema containing its input requirements. nip-89 (or other) announcements can be used to bootstrap the discovery and negotiation process by providing the input schema directly. Then, during the operation phase, the client would interact with the DVM according to the negotiated schema and parameters.
2. Schema-Based Interactions
Rather than relying on rigid specifications for each job type, DVMs could self-advertise their schemas. This would allow clients to understand which parameters are required versus optional, what type validation should occur for inputs, what output formats to expect, and what payment flows are supported. By internalizing the input schema of the DVMs they wish to consume, clients gain clarity on how to interact effectively.
3. Capability Negotiation
Capability negotiation would enable DVMs to advertise their supported features, such as encryption methods, payment options, or specialized functionalities. This would allow clients to adjust their interaction approach based on the specific capabilities of each DVM they encounter.
Implementation Approach
While building DVMCP, I realized that the RPC reflection pattern used there could be beneficial for constructing DVMs in general. Since DVMs already follow an RPC style for their operation, and reflection is a natural extension of this approach, it could significantly enhance and clarify the DVM specification.
A reflection enhanced DVM protocol could work as follows: 1. Discovery: Clients discover DVMs through existing NIP-89 application handlers, input schemas could also be advertised in nip-89 announcements, making the second step unnecessary. 2. Schema Request: Clients request the DVM's input schema for the specific job type they're interested in 3. Validation: Clients validate their request against the provided schema before submission 4. Operation: The job proceeds through the standard NIP-90 flow, but with clearer expectations on both sides
Parallels with Other Protocols
This approach has proven successful in other contexts. The Model Context Protocol (MCP) implements a similar lifecycle with capability negotiation during initialization, allowing any client to communicate with any server as long as they adhere to the base protocol. MCP and DVM protocols share fundamental similarities, both aim to expose and consume computational resources through a JSON-RPC-like interface, albeit with specific differences.
gRPC's reflection service similarly allows clients to discover service definitions at runtime, enabling generic tools to work with any gRPC service without prior knowledge. In the REST API world, OpenAPI/Swagger specifications document interfaces in a way that makes them discoverable and testable.
DVMs would benefit from adopting these patterns while maintaining the decentralized, permissionless nature of Nostr.
Conclusion
I am not attempting to rewrite the DVM specification; rather, explore some ideas that could help the ecosystem improve incrementally, reducing fragmentation and making the ecosystem more comprehensible. By allowing DVMs to self describe their interfaces, we could maintain the flexibility that makes Nostr powerful while providing the structure needed for interoperability.
For developers building DVM clients or libraries, this approach would simplify consumption by providing clear expectations about inputs and outputs. For DVM operators, it would establish a standard way to communicate their service's requirements without relying on external documentation.
I am currently developing DVMCP following these patterns. Of course, DVMs and MCP servers have different details; MCP includes capabilities such as tools, resources, and prompts on the server side, as well as 'roots' and 'sampling' on the client side, creating a bidirectional way to consume capabilities. In contrast, DVMs typically function similarly to MCP tools, where you call a DVM with an input and receive an output, with each job type representing a different categorization of the work performed.
Without further ado, I hope this article has provided some insight into the potential benefits of applying the reflection pattern to the DVM specification.
-
@ b2caa9b3:9eab0fb5
2025-04-24 06:25:35Yesterday, I faced one of the most heartbreaking and frustrating experiences of my life. Between 10:00 AM and 2:00 PM, I was held at the Taveta border, denied entry into Kenya—despite having all the necessary documents, including a valid visitor’s permit and an official invitation letter.
The Kenyan Immigration officers refused to speak with me. When I asked for clarification, I was told flatly that I would never be allowed to enter Kenya unless I obtain a work permit. No other reason was given. My attempts to explain that I simply wanted to see my child were ignored. No empathy. No flexibility. No conversation. Just rejection.
While I stood there for hours, held by officials with no explanation beyond a bureaucratic wall, I recorded the experience. I now have several hours of footage documenting what happened—a silent testimony to how a system can dehumanize and block basic rights.
And the situation doesn’t end at the border.
My child, born in Kenya, is also being denied the right to see me. Germany refuses to grant her citizenship, which means she cannot visit me either. The German embassy in Nairobi refuses to assist, stating they won’t get involved. Their silence is loud.
This is not just about paperwork. This is about a child growing up without her father. It’s about a system that chooses walls over bridges, and bureaucracy over humanity. Kenya, by refusing me entry, is keeping a father away from his child. Germany, by refusing to act under §13 StGB, is complicit in that injustice.
In the coming days, I’ll share more about my past travels and how this situation unfolded. I’ll also be releasing videos and updates on TikTok—because this story needs to be heard. Not just for me, but for every parent and child caught between borders and bureaucracies.
Stay tuned—and thank you for standing with me.
-
@ b0a838f2:34ed3f19
2025-05-23 18:05:31- imgproxy - Fast and secure standalone server for resizing and converting remote images. (Source Code)
MIT
Go/Docker/K8S
- iodine - IPv4 over DNS tunnel solution, enabling you to start up a socks5 proxy listener. (Source Code)
ISC
C/deb
- Koblas - Lightweight SOCKS5 proxy server.
MIT
Rust/Docker
- Outline Server - A proxy server that runs a Shadowsocks instance for each access key and a REST API to manage the access keys. (Source Code)
Apache-2.0
Docker/Nodejs
- Privoxy - Non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other obnoxious Internet junk.
GPL-2.0
C/deb
- sish - HTTP(S)/WS(S)/TCP tunnels to localhost using only SSH (serveo/ngrok alternative).
MIT
Go/Docker
- socks5-proxy-server - SOCKS5 proxy server with built-in authentication and Telegram-bot for user management and user statistics on data spent (handy when you pay per GB of data). It is dockerised and simple to install.
Apache-2.0
Docker
- Squid - Caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-requested web pages. (Source Code)
GPL-2.0
C/deb
- Tinyproxy - Light-weight HTTP/HTTPS proxy daemon. (Source Code)
GPL-2.0
C/deb
- txtdot - A HTTP proxy that parses only text, links and pictures from pages reducing internet bandwidth usage, removing ads and heavy scripts. (Demo, Source Code)
MIT
Nodejs/Docker
- imgproxy - Fast and secure standalone server for resizing and converting remote images. (Source Code)
-
@ b0a838f2:34ed3f19
2025-05-23 18:05:11- Bitpoll - Conduct polls about dates, times or general questions. (Demo)
GPL-3.0
Docker/Python
- Bracket - Flexible tournament system to build a tournament setup, add teams, schedule matches, keep track of scores and present ranking live to the public. (Demo, Source Code)
AGPL-3.0
Docker/Nodejs
- Christmas Community - Create a simple place for your entire family to use to find gifts that people want, and to avoid double-gifting.
AGPL-3.0
Docker/Nodejs
- Claper - The ultimate tool to interact with your audience (alternative to Slido, AhaSlides and Mentimeter). (Source Code)
GPL-3.0
Elixir/Docker
- ClearFlask - Community-feedback tool for managing incoming feedback and prioritizing a public roadmap (alternative to Canny, UserVoice, Upvoty). (Demo, Source Code)
AGPL-3.0
Docker
- docassemble - A free, open-source expert system for guided interviews and document assembly, based on Python, YAML, and Markdown. (Demo, Source Code)
MIT
Docker/Python
- Fider - Open platform to collect and prioritize feedback (alternative to UserVoice). (Demo, Source Code)
MIT
Docker
- Formbricks - Experience Management Suite built on the largest open source survey stack worldwide. Gracefully gather feedback at every step of the customer journey to know what your customers need. (Demo, Source Code)
AGPL-3.0
Nodejs/Docker
- Framadate - Online service for planning an appointment or make a decision quickly and easily: Make a poll, Define dates or subjects to choose, Send the poll link to your friends or colleagues, Discuss and make a decision. (Demo, Source Code)
CECILL-B
PHP
- Gancio - Local community event and agenda sharing. (Demo, Source Code)
AGPL-3.0
Nodejs
- gathio - Self-destructing, shareable, no-registration event pages. (Demo, Source Code)
GPL-3.0
Nodejs/Docker
- HeyForm - Form builder that allows anyone to create engaging conversational forms for surveys, questionnaires, quizzes, and polls. (Source Code)
AGPL-3.0
Docker
- hitobito - Manage complex group hierarchies with members, events and a lot more. (Demo, Source Code)
AGPL-3.0
Ruby
- Input - Privacy-focused, no-code, open-source form builder designed for simplicity and brand consistency. (Source Code)
AGPL-3.0
PHP/Nodejs/Docker
- LimeSurvey - Feature-rich web-based polling software. Supports extensive survey logic. (Demo, Source Code)
GPL-2.0
PHP
- Meetable - Minimal events aggregator. (Source Code)
MIT
PHP
- Mobilizon - Federated tool that helps you find, create and organise events and groups. (Source Code)
AGPL-3.0
Elixir/Docker
- OpnForm - Beautiful open-source form builder. (Demo, Source Code)
AGPL-3.0
PHP/Nodejs/Docker
- Bitpoll - Conduct polls about dates, times or general questions. (Demo)
-
@ b0a838f2:34ed3f19
2025-05-23 18:04:53- Chevereto - Ultimate image sharing software. Create your very own personal image hosting website in just minutes. (Source Code)
AGPL-3.0
PHP/Docker
- Coppermine - Multilingual photo gallery that integrates with various bulletin boards. Includes upload approval and password protected albums. (Source Code)
GPL-3.0
PHP
- Damselfly - Fast server-based photo management system for large collections of images. Includes face detection, face & object recognition, powerful search, and EXIF Keyword tagging. Runs on Linux, MacOS and Windows. (Source Code)
GPL-3.0
Docker/C#/.NET
- Ente - An end-to-end encrypted photo-sharing platform (alternative to Google Photos, Apple Photos). (Source Code)
AGPL-3.0
Docker/Nodejs/Go
- HomeGallery - Browse personal photos and videos featuring tagging, mobile-friendly, and AI powered image discovery. (Demo, Source Code)
MIT
Nodejs/Docker
- Immich Kiosk - Lightweight slideshow for running on kiosk devices and browsers that uses Immich as a data source.
GPL-3.0
Docker/Go
- Immich - Photo and video backup solution directly from your mobile phone. (Demo, Source Code)
AGPL-3.0
Docker
- LibrePhotos - Photo management service with a slight focus on cool graphs (alternative to Google Photos). (Clients)
MIT
Python/Docker
- Lychee - Grid and album based photo-management-system. (Source Code)
MIT
PHP/Docker
- Mediagoblin - Media publishing platform that anyone can run (alternative to Flickr, YouTube, SoundCloud, etc). (Source Code)
AGPL-3.0
Python
- Mejiro - Easy-to-use instant photo publishing.
GPL-3.0
PHP
- Nextcloud Memories - Fast, modern and advanced photo management suite. Runs as a Nextcloud app. (Demo, Source Code)
AGPL-3.0
PHP
- Photofield - Experimental fast photo viewer.
MIT
Docker/Go
- PhotoPrism - Personal photo management powered by Go and Google TensorFlow. Browse, organize, and share your personal photo collection, using the latest technologies to automatically tag and find pictures. (Demo, Source Code)
AGPL-3.0
Go/Docker
- Photoview - Simple and user-friendly photo gallery for personal servers. It is made for photographers and aims to provide an easy and fast way to navigate directories, with thousands of high resolution photos. (Source Code)
GPL-3.0
Go/Docker
- PiGallery 2 - Directory-first photo gallery website, with a rich UI, optimised for running on low resource servers. (Source Code)
MIT
Docker/Nodejs
- Piwigo - Photo gallery software for the web, built by an active community of users and developers. (Source Code)
GPL-2.0
PHP
- sigal - Yet another simple static gallery generator.
MIT
Python
- SPIS - A simple, lightweight and fast media server with decent mobile support.
GPL-3.0
Docker/Rust
- This week in past - Aggregates images taken this week, from previous years and presents them on a web page with a simple slideshow.
MIT
Docker/Rust
- Thumbor - A smart imaging service and enables on-demand cropping, resizing, applying filters and optimizing images. (Source Code)
MIT
Python/Docker
- Zenphoto - Open-source gallery and CMS project. (Source Code)
GPL-2.0
PHP
- Chevereto - Ultimate image sharing software. Create your very own personal image hosting website in just minutes. (Source Code)
-
@ bbb5dda0:f09e2747
2025-05-20 13:33:59My week 19 started with a celebration of 80 years of liberation from the Germans (we love you guys now tho 🫶🏼). It feels conflicting, we're celebrating freedom, whilst cutting down those freedoms day by day more rapidly as time progresses. Should we still celebrate...?
The current path back to freedom can be mundane in the day to day but I wouldn't wanna have it any other way. These last couple weeks I've continued working on our TollGate pipelines to facilitate our release cycle, make it faster and easier to release in quick succession. There's been a lot of details to get right, because our releases are nostr based and once people start relying on the structure of the events we can't easily change it.
A TollGateOS release event now looks like this NIP-94 file metadata event:
json { "id": "a867f15ca7edc95a69e1557539a624466147584f68c62a16c47fe9bca3778312", "pubkey": "5075e61f0b048148b60105c1dd72bbeae1957336ae5824087e52efa374f8416a", "created_at": 1747475980, "kind": 1063, "tags": [ [ "url", "https://blossom.swissdash.site/9e5e8c48810a1b59cf10fa56486f311e048a0305eb58444992b6133fd19fcb3e.bin" ], [ "m", "application/octet-stream" ], [ "x", "9e5e8c48810a1b59cf10fa56486f311e048a0305eb58444992b6133fd19fcb3e" ], [ "ox", "9e5e8c48810a1b59cf10fa56486f311e048a0305eb58444992b6133fd19fcb3e" ], [ "architecture", "aarch64_cortex-a53" ], [ "device_id", "glinet_gl-mt3000" ], [ "supported_devices", "glinet,gl-mt3000 glinet,mt3000-snand" ], [ "openwrt_version", "24.10.1" ], [ "tollgate_os_version", "v0.0.2" ], [ "release_channel", "stable" ] ], "content": "TollGate OS Firmware for glinet_gl-mt3000", "sig": "1d050233428304685d202e954cb48714c800a7ca5f2d6a8d8fd657a775b9c51bf83364505311859c846e25098168a8ff309af2308712aafe634fcbdc96fcd84a" }
One of the missing links was the
supported_devices
tag. That is because the installer checks the device name by ssh-ing into the router and it returns theglinet,gl-mt3000
which doesn't properly translate into thedevice_id
, which is what's used for compiling the OS. So this helps us to do the lookups and compatibility checks in the installer.I also worked on: - getting the versioning of the tollgate-basic package's naming in line with the OpenWRT naming convention. - Rework versioning for dev builds into
[branchname].[commit_height].[commit_hash]
which will show up on thedev
release_channel
releases. - Getting an initial release of the tollgate-installer done, so we can easily flash a bunch of routers to become TollGates.Bright minds in Prague
I met up with some bright minds from the space in Prague where @cobrador and i did a workshop on turning routers into TollGates and start earning sats. As is part of building things, things break and people make us aware of issues that we wouldn't foresee. Like for some reason Minibits cashu tokens being rejected, which is likely because of the memo's but we still need to dive into that issue.
Also we released [v0.0.2] of TollGate OS, which now includes an updater feature, again for faster release cycles. Currently we're focussing on getting a v0.0.3 out quickly with fixes for the user feedback we've gathered so far!
Receipt.Cash
I also, kind of unplanned, saw an opportunity to shill Receipt.Cash. I'd made a few improvements recently and it's ready enough for reckless people to try it out ;).
|
|
| | | | Payer Scans any fiat receipt & Share link with friends | Friends tap what they had, price is auto-converted to sats, then pay by Lightning or Cashu. | If you want to try it, BE CAREFUL! It is highly experimental and you might lose your sats, no refunds!
Source Code here.
-
@ bd4ae3e6:1dfb81f5
2025-05-20 08:46:08 -
@ 9bde4214:06ca052b
2025-04-22 18:13:37"It's gonna be permissionless or hell."
Gigi and gzuuus are vibing towards dystopia.
Books & articles mentioned:
- AI 2027
- DVMs were a mistake
- Careless People by Sarah Wynn-Williams
- Takedown by Laila michelwait
- The Ultimate Resource by Julian L. Simon
- Harry Potter by J.K. Rowling
- Momo by Michael Ende
In this dialogue:
- Pablo's Roo Setup
- Tech Hype Cycles
- AI 2027
- Prompt injection and other attacks
- Goose and DVMCP
- Cursor vs Roo Code
- Staying in control thanks to Amber and signing delegation
- Is YOLO mode here to stay?
- What agents to trust?
- What MCP tools to trust?
- What code snippets to trust?
- Everyone will run into the issues of trust and micropayments
- Nostr solves Web of Trust & micropayments natively
- Minimalistic & open usually wins
- DVMCP exists thanks to Totem
- Relays as Tamagochis
- Agents aren't nostr experts, at least not right now
- Fix a mistake once & it's fixed forever
- Giving long-term memory to LLMs
- RAG Databases signed by domain experts
- Human-agent hybrids & Chess
- Nostr beating heart
- Pluggable context & experts
- "You never need an API key for anything"
- Sats and social signaling
- Difficulty-adjusted PoW as a rare-limiting mechanism
- Certificate authorities and centralization
- No solutions to policing speech!
- OAuth and how it centralized
- Login with nostr
- Closed vs open-source models
- Tiny models vs large models
- The minions protocol (Stanford paper)
- Generalist models vs specialized models
- Local compute & encrypted queries
- Blinded compute
- "In the eyes of the state, agents aren't people"
- Agents need identity and money; nostr provides both
- "It's gonna be permissionless or hell"
- We already have marketplaces for MCP stuff, code snippets, and other things
- Most great stuff came from marketplaces (browsers, games, etc)
- Zapstore shows that this is already working
- At scale, central control never works. There's plenty scams and viruses in the app stores.
- Using nostr to archive your user-generated content
- HAVEN, blossom, novia
- The switcharoo from advertisements to training data
- What is Truth?
- What is Real?
- "We're vibing into dystopia"
- Who should be the arbiter of Truth?
- First Amendment & why the Logos is sacred
- Silicon Valley AI bros arrogantly dismiss wisdom and philosophy
- Suicide rates & the meaning crisis
- Are LLMs symbiotic or parasitic?
- The Amish got it right
- Are we gonna make it?
- Careless People by Sarah Wynn-Williams
- Takedown by Laila michelwait
- Harry Potter dementors & Momo's time thieves
- Facebook & Google as non-human (superhuman) agents
- Zapping as a conscious action
- Privacy and the internet
- Plausible deniability thanks to generative models
- Google glasses, glassholes, and Meta's Ray Ben's
- People crave realness
- Bitcoin is the realest money we ever had
- Nostr allows for real and honest expression
- How do we find out what's real?
- Constraints, policing, and chilling effects
- Jesus' plans for DVMCP
- Hzrd's article on how DVMs are broken (DVMs were a mistake)
- Don't believe the hype
- DVMs pre-date MCP tools
- Data Vending Machines were supposed to be stupid: put coin in, get stuff out.
- Self-healing vibe-coding
- IP addresses as scarce assets
- Atomic swaps and the ASS protocol
- More marketplaces, less silos
- The intensity of #SovEng and the last 6 weeks
- If you can vibe-code everything, why build anything?
- Time, the ultimate resource
- What are the LLMs allowed to think?
- Natural language interfaces are inherently dialogical
- Sovereign Engineering is dialogical too
-
@ b0a838f2:34ed3f19
2025-05-23 18:04:36- Dashy - Feature-rich homepage for your homelab, with easy YAML configuration. (Demo, Source Code)
MIT
Nodejs/Docker
- Fenrus - Personal home page that allows for multiple users, guest access and multiple dashboards for each user. It also has "Smart Apps" which display live data for those apps.
GPL-3.0
.NET/Docker
- Glance - Highly customizable dashboard that puts all your feeds in one place.
AGPL-3.0
Docker/Go
- Heimdall - Elegant solution to organise all your web applications. (Source Code)
MIT
PHP
- Hiccup - Beautiful static homepage to get to your links and services quickly. It has built-in search, editing, PWA support and localstorage caching to easily organize your start page. (Source Code)
MIT
Javascript/Docker
- Homarr - Sleek, modern dashboard with many integrations and web-based config. (Source Code)
MIT
Docker/Nodejs
- Homepage by gethomepage - Highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.
GPL-3.0
Docker/Nodejs
- Homepage by tomershvueli - Simple, standalone, self-hosted PHP page that is your window to your server and the web.
MIT
PHP
- Homer - Dead simple static homepage to expose your server services, with an easy yaml configuration and connectivity check.
Apache-2.0
Docker/K8S/Nodejs
- Hubleys - Personal dashboards to organize links for multiple users via a central yaml config.
MIT
Docker
- LinkStack - Link all your social media platforms easily accessible on one page, customizable through an intuitive, easy to use user/admin interface (alternative to Linktree and Manylink). (Demo, Source Code)
AGPL-3.0
PHP/Docker
- LittleLink - Simplistic approach for links in bio with 100+ branded buttons (alternative to Linktree). (Demo, Source Code)
MIT
Javascript
- Mafl - Minimalistic flexible homepage. (Source Code)
MIT
Docker/Nodejs
- portkey - Simple web portal that serves as a startup page, displaying a compilation of links and URLs, while also allowing the addition of custom pages, all managed through a single configuration file. (Demo, Source Code)
AGPL-3.0
Go/Docker
- ryot - Platform for tracking various facets of your life - media, fitness, etc. (Demo)
GPL-3.0
Docker
- Starbase 80 - A simple homepage with an iPad-style application grid, for mobile and desktop. One JSON configuration file.
MIT
Docker
- Web-Portal - A python web app designed to allow a easy way to manage the links to all of your web services.
AGPL-3.0
Docker/Python
- Your Spotify
⚠
- Allows you to record your Spotify listening activity and have statistics about them served through a Web application.MIT
Nodejs/Docker
- Dashy - Feature-rich homepage for your homelab, with easy YAML configuration. (Demo, Source Code)
-
@ bd4ae3e6:1dfb81f5
2025-05-20 08:46:06 -
@ d9e9fb27:d5fe5e1a
2025-04-22 01:29:16"There are two pillars in Costa Rica, education and coffee." A tourist guide I met told me this, and during the trip I discovered the strong link between coffee and the locals.
In fact, coffee runs very deeply in the Ticos' culture. So deep that the summer vacations from school (November to January) coincide with the coffee collection season. Children had to help their parents with the coffee. Coffee was a family business.
Monteverde, in the region of Puentarenas, is one of those places where coffee ha always been a corner stone of the society. Here, My gf and I went to visit a coffee plantation and discovered how coffee is made.
Monteverde
Monteverde is a well-known turistic location in the central part of Costa Rica. Many people reach this beautiful place to visit the famous Cloud Rainforest, acres and acres of pristine forest, with many different kind of animals and plants living in it.
However, other than tourism is coffee that pushes the economy of this place. The hills around the town are covered with coffee plantations and there are tours than try to explain how coffee is made.
Coffee Tours
While we were in Monteverde, we joined one of these tours. We decided to give credit to a smaller plantation instead of the super turistic ones. A more rustic and family-owned business, El Pueblo Coffee Tour. We were not disappointed. We had the show all to ourselves, a super-prepared guide and all the time to make questions and enjoy with no rush.
The Plant of Coffee
Since Costa Rica is a quite small country, to compete on the market producers decided to bet on quality instead of quantity. That's why, the only type produced here is the Arabica.
Before the coffee bean, the plant produces a nice white flower, similar to the jasmine.
After a while, the coffee beans appear.
As soon as they turn red, they are ready to be collected.
Interesting fact: between the coffee plants many fruit trees like mangos or bananos can be found. In fact, those plants help keep the soil fertile and healthy, thus leading to a higher coffee quality!
Coffee Harvesting
Coffee is still harvested by hand. Beans do not get mature at the same time, so manual labor is needed. Laborer use a very simple tool to collect coffee, one which allow them to have both hands free.
Workers do not get paid by hours, but by the number of cajuelas that they can fill. A cajuela is a standard box, which contains around 13kg of beans. It's divided into quarters, so that the worker can get paid for the quarter, too.
Each cajuela is paid around 3.50$.
Coffee Drying
In the farm we visited, drying was perfomed naturally, through the heat of the sun. There are three ways in which the bean is left to dry: lavado, miel and naturàl.
- Lavado: The beans are peeled and washed to remove the jelly.
- Miel: The jelly on the beans is maintained to give it more sweet flavour.
- Naturàl: The bean is left to dry with its peel on, to give it a more fruity taste.
Back in the days, to peel the beans for the lavado and the miel variety, the pìlon was used. The bean is very hard, thus this tool does not damage it.
However, today the peeling procedure is done using a machine.
Coffee Roasting
The last step in the production of coffee is roasting. Coffee is put inside a sort of hoven, and is left there at high temperature according to the level of roasting that is needed. The more roasting, the less caffeine there is and the more bitter the coffee. Usually you have light, medium and dark roast.
Coffee Tasting
In the end, we also had a coffee tasting. We tried different roasting and different varieties.
Our guide explained us the best way to taste coffee and helped us defining the different flavours that we perceived. He also taught us the best way to prepare it: infusion time, water temperature, coffe makers and so on.
My favorite one was the dark one, while my gf enjoyed the light roast more. Of course, we bought some packs of these varieties!
Thanks for tuning in!
I hope you enjoyed this brief overview of the Costa Rican coffee.
Pura Vida
Tuma
-
@ 3f770d65:7a745b24
2025-05-19 18:09:52🏌️ Monday, May 26 – Bitcoin Golf Championship & Kickoff Party
Location: Las Vegas, Nevada\ Event: 2nd Annual Bitcoin Golf Championship & Kick Off Party"\ Where: Bali Hai Golf Clubhouse, 5160 S Las Vegas Blvd, Las Vegas, NV 89119\ 🎟️ Get Tickets!
Details:
-
The week tees off in style with the Bitcoin Golf Championship. Swing clubs by day and swing to music by night.
-
Live performances from Nostr-powered acts courtesy of Tunestr, including Ainsley Costello and others.
-
Stop by the Purple Pill Booth hosted by Derek and Tanja, who will be on-boarding golfers and attendees to the decentralized social future with Nostr.
💬 May 27–29 – Bitcoin 2025 Conference at the Las Vegas Convention Center
Location: The Venetian Resort\ Main Attraction for Nostr Fans: The Nostr Lounge\ When: All day, Tuesday through Thursday\ Where: Right outside the Open Source Stage\ 🎟️ Get Tickets!
Come chill at the Nostr Lounge, your home base for all things decentralized social. With seating for \~50, comfy couches, high-tops, and good vibes, it’s the perfect space to meet developers, community leaders, and curious newcomers building the future of censorship-resistant communication.
Bonus: Right across the aisle, you’ll find Shopstr, a decentralized marketplace app built on Nostr. Stop by their booth to explore how peer-to-peer commerce works in a truly open ecosystem.
Daily Highlights at the Lounge:
-
☕️ Hang out casually or sit down for a deeper conversation about the Nostr protocol
-
🔧 1:1 demos from app teams
-
🛍️ Merch available onsite
-
🧠 Impromptu lightning talks
-
🎤 Scheduled Meetups (details below)
🎯 Nostr Lounge Meetups
Wednesday, May 28 @ 1:00 PM
- Damus Meetup: Come meet the team behind Damus, the OG Nostr app for iOS that helped kickstart the social revolution. They'll also be showcasing their new cross-platform app, Notedeck, designed for a more unified Nostr experience across devices. Grab some merch, get a demo, and connect directly with the developers.
Thursday, May 29 @ 1:00 PM
- Primal Meetup: Dive into Primal, the slickest Nostr experience available on web, Android, and iOS. With a built-in wallet, zapping your favorite creators and friends has never been easier. The team will be on-site for hands-on demos, Q\&A, merch giveaways, and deeper discussions on building the social layer of Bitcoin.
🎙️ Nostr Talks at Bitcoin 2025
If you want to hear from the minds building decentralized social, make sure you attend these two official conference sessions:
1. FROSTR Workshop: Multisig Nostr Signing
-
🕚 Time: 11:30 AM – 12:00 PM
-
📅 Date: Wednesday, May 28
-
📍 Location: Developer Zone
-
🎤 Speaker: nostr:nprofile1qy2hwumn8ghj7etyv4hzumn0wd68ytnvv9hxgqgdwaehxw309ahx7uewd3hkcqpqs9etjgzjglwlaxdhsveq0qksxyh6xpdpn8ajh69ruetrug957r3qf4ggfm (Austin Kelsay) @ Voltage\ A deep-dive into FROST-based multisig key management for Nostr. Geared toward devs and power users interested in key security.
2. Panel: Decentralizing Social Media
-
🕑 Time: 2:00 PM – 2:30 PM
-
📅 Date: Thursday, May 29
-
📍 Location: Genesis Stage
-
🎙️ Moderator: nostr:nprofile1qyxhwumn8ghj7mn0wvhxcmmvqy08wumn8ghj7mn0wd68yttjv4kxz7fwv3jhyettwfhhxuewd4jsqgxnqajr23msx5malhhcz8paa2t0r70gfjpyncsqx56ztyj2nyyvlq00heps - Bitcoin Strategy @ Roxom TV
-
👥 Speakers:
-
nostr:nprofile1qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcppemhxue69uhkummn9ekx7mp0qqsy2ga7trfetvd3j65m3jptqw9k39wtq2mg85xz2w542p5dhg06e5qmhlpep – Early Bitcoin dev, CEO @ Sirius Business Ltd
-
nostr:nprofile1qy2hwumn8ghj7mn0wd68ytndv9kxjm3wdahxcqg5waehxw309ahx7um5wfekzarkvyhxuet5qqsw4v882mfjhq9u63j08kzyhqzqxqc8tgf740p4nxnk9jdv02u37ncdhu7e3 – Analyst & Partner @ Ego Death Capital
Get the big-picture perspective on why decentralized social matters and how Nostr fits into the future of digital communication.
🌃 NOS VEGAS Meetup & Afterparty
Date: Wednesday, May 28\ Time: 7:00 PM – 1:00 AM\ Location: We All Scream Nightclub, 517 Fremont St., Las Vegas, NV 89101\ 🎟️ Get Tickets!
What to Expect:
-
🎶 Live Music Stage – Featuring Ainsley Costello, Sara Jade, Able James, Martin Groom, Bobby Shell, Jessie Lark, and other V4V artists
-
🪩 DJ Party Deck – With sets by nostr:nprofile1qy0hwumn8ghj7cmgdae82uewd45kketyd9kxwetj9e3k7mf6xs6rgqgcwaehxw309ahx7um5wgh85mm694ek2unk9ehhyecqyq7hpmq75krx2zsywntgtpz5yzwjyg2c7sreardcqmcp0m67xrnkwylzzk4 , nostr:nprofile1qy2hwumn8ghj7etyv4hzumn0wd68ytnvv9hxgqgkwaehxw309anx2etywvhxummnw3ezucnpdejqqg967faye3x6fxgnul77ej23l5aew8yj0x2e4a3tq2mkrgzrcvecfsk8xlu3 , and more DJs throwing down
-
🛰️ Live-streamed via Tunestr
-
🧠 Nostr Education – Talks by nostr:nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq37amnwvaz7tmwdaehgu3dwfjkccte9ejx2un9ddex7umn9ekk2tcqyqlhwrt96wnkf2w9edgr4cfruchvwkv26q6asdhz4qg08pm6w3djg3c8m4j , nostr:nprofile1qy2hwumn8ghj7etyv4hzumn0wd68ytnvv9hxgqg7waehxw309anx2etywvhxummnw3ezucnpdejz7ur0wp6kcctjqqspywh6ulgc0w3k6mwum97m7jkvtxh0lcjr77p9jtlc7f0d27wlxpslwvhau , nostr:nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq3vamnwvaz7tmwdaehgu3wd33xgetk9en82m30qqsgqke57uygxl0m8elstq26c4mq2erz3dvdtgxwswwvhdh0xcs04sc4u9p7d , nostr:nprofile1q9z8wumn8ghj7erzx3jkvmmzw4eny6tvw368wdt8da4kxamrdvek76mrwg6rwdngw94k67t3v36k77tev3kx7vn2xa5kjem9dp4hjepwd3hkxctvqyg8wumn8ghj7mn0wd68ytnhd9hx2qpqyaul8k059377u9lsu67de7y637w4jtgeuwcmh5n7788l6xnlnrgssuy4zk , nostr:nprofile1qy28wue69uhnzvpwxqhrqt33xgmn5dfsx5cqz9thwden5te0v4jx2m3wdehhxarj9ekxzmnyqqswavgevxe9gs43vwylumr7h656mu9vxmw4j6qkafc3nefphzpph8ssvcgf8 , and more.
-
🧾 Vendors & Project Booths – Explore new tools and services
-
🔐 Onboarding Stations – Learn how to use Nostr hands-on
-
🐦 Nostrich Flocking – Meet your favorite nyms IRL
-
🍸 Three Full Bars – Two floors of socializing overlooking vibrant Fremont Street
| | | | | ----------- | -------------------- | ------------------- | | Time | Name | Topic | | 7:30-7:50 | Derek | Nostr for Beginners | | 8:00-8:20 | Mark & Paul | Primal | | 8:30-8:50 | Terry | Damus | | 9:00-9:20 | OpenMike and Ainsley | V4V | | 09:30-09:50 | The Space | Space |
This is the after-party of the year for those who love freedom technology and decentralized social community. Don’t miss it.
Final Thoughts
Whether you're there to learn, network, party, or build, Bitcoin 2025 in Las Vegas has a packed week of Nostr-friendly programming. Be sure to catch all the events, visit the Nostr Lounge, and experience the growing decentralized social revolution.
🟣 Find us. Flock with us. Purple pill someone.
-
-
@ b0a838f2:34ed3f19
2025-05-23 18:04:16- bin - A paste bin that's actually minimalist.
WTFPL/0BSD
Rust
- BinPastes - Minimal pastebin supporting client-side encryption, fulltext search, one-time messages. Intended for one to few users looking for a simple pastebin deployment. (Demo)
Apache-2.0
Java
- ByteStash - Pastebin and file storage service with a simple web interface. Supports syntax highlighting, optional user authentication and public sharing. (Demo)
GPL-3.0
Docker
- dpaste - Simple pastebin with multiple text and code option, with short url result easy to remember. (Source Code)
MIT
Docker/Django
- FlashPaper - One-time encrypted zero-knowledge password/secret sharing application focused on simplicity and security. No database or complicated set-up required. (Demo)
MIT
Docker/PHP
- Hemmelig - Share encrypted secrets cross organizations, or as private persons. (Source Code)
MIT
Docker/Nodejs
- lesma - Simple paste app friendly with browser and command line. (Demo, Source Code)
GPL-3.0
Rust/Docker
- Local Content Share - Store and share text snippets and files within your local network.
MIT
Docker/Go
- not-th.re - Simple paste sharing platform, with client side encryption, featuring the monaco browser-based code editor. (Demo, Source Code)
AGPL-3.0
Nodejs/Docker
- Opengist - Pastebin powered by Git. (Demo)
AGPL-3.0
Docker/Go/Nodejs
- paaster - End-to-end encrypted pastebin built with the objective of simplicity. (Source Code)
AGPL-3.0
Docker
- pacebin - Super-minimal pastebin and file upload service focusing on small executable size, portability, and ease of configuration. (Demo, Source Code)
AGPL-3.0
C
- Password Pusher - Dead-simple application to securely communicate passwords (or text) over the web. Passwords automatically expire after a certain number of views and/or time has passed. (Source Code)
Apache-2.0
Docker/K8S/Ruby
- Pastefy - Beautiful, simple and easy to deploy Pastebin with optional client encryption, multitab pastes, an API, a highlighted editor and more. (Source Code, Clients)
MIT
Docker/K8S/Java
- PrivateBin - Minimalist pastebin/discussion board where the server has zero knowledge of hosted data. (Demo, Source Code)
Zlib
PHP
- rustypaste - A minimal file upload/pastebin service.
MIT
Rust
- SnyPy - Open source on-prem code snippet manager. (Demo, Source Code)
MIT
Docker
- Spacebin - Modern Pastebin server written in Go with a JS-free web UI and tons of features. (Demo, Source Code)
Apache-2.0
Go/Docker
- Sup3rS3cretMes5age - Very simple (to deploy and to use) secret message service using Hashicorp Vault as a secrets storage.
MIT
Go
- Wastebin - Lightweight, minimal and fast pastebin with an SQLite backend. (Demo)
MIT
Rust/Docker
- YABin - A pastebin that contains plentiful features while remaining simple. Supports optional E2E encryption, a client-side CLI app, syntax highlighting, minimalistic UI, APIs, keyboard shortcuts, and more. It can even be run in serverless environments. (Demo)
MIT
Nodejs/Docker
- ybFeed - Personal micro feed where you can post snippets of text or images.
MIT
Go/Nodejs/Docker
- Yopass - Secure sharing of secrets, passwords and files. (Demo)
Apache-2.0
Go/Docker
- bin - A paste bin that's actually minimalist.
-
@ 266815e0:6cd408a5
2025-04-15 06:58:14Its been a little over a year since NIP-90 was written and merged into the nips repo and its been a communication mess.
Every DVM implementation expects the inputs in slightly different formats, returns the results in mostly the same format and there are very few DVM actually running.
NIP-90 is overloaded
Why does a request for text translation and creating bitcoin OP_RETURNs share the same input
i
tag? and why is there anoutput
tag on requests when only one of them will return an output?Each DVM request kind is for requesting completely different types of compute with diffrent input and output requirements, but they are all using the same spec that has 4 different types of inputs (
text
,url
,event
,job
) and an undefined number ofoutput
types.Let me show a few random DVM requests and responses I found on
wss://relay.damus.io
to demonstrate what I mean:This is a request to translate an event to English
json { "kind": 5002, "content": "", "tags": [ // NIP-90 says there can be multiple inputs, so how would a DVM handle translatting multiple events at once? [ "i", "<event-id>", "event" ], [ "param", "language", "en" ], // What other type of output would text translations be? image/jpeg? [ "output", "text/plain" ], // Do we really need to define relays? cant the DVM respond on the relays it saw the request on? [ "relays", "wss://relay.unknown.cloud/", "wss://nos.lol/" ] ] }
This is a request to generate text using an LLM model
json { "kind": 5050, // Why is the content empty? wouldn't it be better to have the prompt in the content? "content": "", "tags": [ // Why use an indexable tag? are we ever going to lookup prompts? // Also the type "prompt" isn't in NIP-90, this should probably be "text" [ "i", "What is the capital of France?", "prompt" ], [ "p", "c4878054cff877f694f5abecf18c7450f4b6fdf59e3e9cb3e6505a93c4577db2" ], [ "relays", "wss://relay.primal.net" ] ] }
This is a request for content recommendation
json { "kind": 5300, "content": "", "tags": [ // Its fine ignoring this param, but what if the client actually needs exactly 200 "results" [ "param", "max_results", "200" ], // The spec never mentions requesting content for other users. // If a DVM didn't understand this and responded to this request it would provide bad data [ "param", "user", "b22b06b051fd5232966a9344a634d956c3dc33a7f5ecdcad9ed11ddc4120a7f2" ], [ "relays", "wss://relay.primal.net", ], [ "p", "ceb7e7d688e8a704794d5662acb6f18c2455df7481833dd6c384b65252455a95" ] ] }
This is a request to create a OP_RETURN message on bitcoin
json { "kind": 5901, // Again why is the content empty when we are sending human readable text? "content": "", "tags": [ // and again, using an indexable tag on an input that will never need to be looked up ["i", "09/01/24 SEC Chairman on the brink of second ETF approval", "text"] ] }
My point isn't that these event schema's aren't understandable but why are they using the same schema? each use-case is different but are they all required to use the same
i
tag format as input and could support all 4 types of inputs.Lack of libraries
With all these different types of inputs, params, and outputs its verify difficult if not impossible to build libraries for DVMs
If a simple text translation request can have an
event
ortext
as inputs, apayment-required
status at any point in the flow, partial results, or responses from 10+ DVMs whats the best way to build a translation library for other nostr clients to use?And how do I build a DVM framework for the server side that can handle multiple inputs of all four types (
url
,text
,event
,job
) and clients are sending all the requests in slightly differently.Supporting payments is impossible
The way NIP-90 is written there isn't much details about payments. only a
payment-required
status and a genericamount
tagBut the way things are now every DVM is implementing payments differently. some send a bolt11 invoice, some expect the client to NIP-57 zap the request event (or maybe the status event), and some even ask for a subscription. and we haven't even started implementing NIP-61 nut zaps or cashu A few are even formatting the
amount
number wrong or denominating it in sats and not mili-satsBuilding a client or a library that can understand and handle all of these payment methods is very difficult. for the DVM server side its worse. A DVM server presumably needs to support all 4+ types of payments if they want to get the most sats for their services and support the most clients.
All of this is made even more complicated by the fact that a DVM can ask for payment at any point during the job process. this makes sense for some types of compute, but for others like translations or user recommendation / search it just makes things even more complicated.
For example, If a client wanted to implement a timeline page that showed the notes of all the pubkeys on a recommended list. what would they do when the selected DVM asks for payment at the start of the job? or at the end? or worse, only provides half the pubkeys and asks for payment for the other half. building a UI that could handle even just two of these possibilities is complicated.
NIP-89 is being abused
NIP-89 is "Recommended Application Handlers" and the way its describe in the nips repo is
a way to discover applications that can handle unknown event-kinds
Not "a way to discover everything"
If I wanted to build an application discovery app to show all the apps that your contacts use and let you discover new apps then it would have to filter out ALL the DVM advertisement events. and that's not just for making requests from relays
If the app shows the user their list of "recommended applications" then it either has to understand that everything in the 5xxx kind range is a DVM and to show that is its own category or show a bunch of unknown "favorites" in the list which might be confusing for the user.
In conclusion
My point in writing this article isn't that the DVMs implementations so far don't work, but that they will never work well because the spec is too broad. even with only a few DVMs running we have already lost interoperability.
I don't want to be completely negative though because some things have worked. the "DVM feeds" work, although they are limited to a single page of results. text / event translations also work well and kind
5970
Event PoW delegation could be cool. but if we want interoperability, we are going to need to change a few things with NIP-90I don't think we can (or should) abandon NIP-90 entirely but it would be good to break it up into small NIPs or specs. break each "kind" of DVM request out into its own spec with its own definitions for expected inputs, outputs and flow.
Then if we have simple, clean definitions for each kind of compute we want to distribute. we might actually see markets and services being built and used.
-
@ a8d1560d:3fec7a08
2025-05-19 17:28:05NIP-XX
Documentation and Wikis with Spaces and Format Declaration
draft
optional
Summary
This NIP introduces a system for collaborative documentation and wikis on Nostr. It improves upon earlier efforts by adding namespace-like Spaces, explicit content format declaration, and clearer separation of article types, including redirects and merge requests.
Motivation
Previous approaches to wiki-style collaborative content on Nostr had two key limitations:
- Format instability – No declared format per event led to breaking changes (e.g. a shift from Markdown to Asciidoc).
- Lack of namespace separation – All articles existed in a global space, causing confusion and collision between unrelated projects.
This NIP addresses both by introducing:
- Spaces – individually defined wikis or documentation sets.
- Explicit per-article format declaration.
- Dedicated event kinds for articles, redirects, merge requests, and space metadata.
Specification
kind: 31055
– Space DefinitionDefines a project namespace for articles.
Tags: -
["name", "<space title>"]
-["slug", "<short identifier>"]
-["description", "<optional description>"]
-["language", "<ISO language code>"]
-["license", "<license text or SPDX ID>"]
Content: (optional) full description or README for the space.
kind: 31056
– ArticleAn article in a specific format belonging to a defined space.
Tags: -
["space", "<slug>"]
-["title", "<article title>"]
-["format", "markdown" | "asciidoc" | "mediawiki" | "html"]
-["format-version", "<format version>"]
(optional) -["prev", "<event-id>"]
(optional) -["summary", "<short change summary>"]
(optional)Content: full body of the article in the declared format.
kind: 31057
– RedirectRedirects from one article title to another within the same space.
Tags: -
["space", "<slug>"]
-["from", "<old title>"]
-["to", "<new title>"]
Content: empty.
kind: 31058
– Merge RequestProposes a revision to an article without directly altering the original.
Tags: -
["space", "<slug>"]
-["title", "<article title>"]
-["base", "<event-id>"]
-["format", "<format>"]
-["comment", "<short summary>"]
(optional)Content: proposed article content.
Format Guidelines
Currently allowed formats: -
markdown
-asciidoc
-mediawiki
-html
Clients MUST ignore formats they do not support. Clients MAY apply stricter formatting rules.
Client Behavior
Clients: - MUST render only supported formats. - MUST treat
space
as a case-sensitive namespace. - SHOULD allow filtering, browsing and searching within Spaces. - SHOULD support revision tracking viaprev
. - MAY support diff/merge tooling forkind: 31058
.
Examples
Space Definition
json { "kind": 31055, "tags": [ ["name", "Bitcoin Docs"], ["slug", "btc-docs"], ["description", "Developer documentation for Bitcoin tools"], ["language", "en"], ["license", "MIT"] ], "content": "Welcome to the Bitcoin Docs Space." }
Markdown Article
json { "kind": 31056, "tags": [ ["space", "btc-docs"], ["title", "Installation Guide"], ["format", "markdown"] ], "content": "# Installation\n\nFollow these steps to install the software..." }
Asciidoc Article
json { "kind": 31056, "tags": [ ["space", "btc-docs"], ["title", "RPC Reference"], ["format", "asciidoc"] ], "content": "= RPC Reference\n\nThis section describes JSON-RPC calls." }
MediaWiki Article
json { "kind": 31056, "tags": [ ["space", "btc-docs"], ["title", "Block Structure"], ["format", "mediawiki"] ], "content": "== Block Structure ==\n\nThe structure of a Bitcoin block is..." }
Redirect
json { "kind": 31057, "tags": [ ["space", "btc-docs"], ["from", "Getting Started"], ["to", "Installation Guide"] ], "content": "" }
Merge Request
json { "kind": 31058, "tags": [ ["space", "btc-docs"], ["title", "Installation Guide"], ["base", "d72fa1..."], ["format", "markdown"], ["comment", "Added step for testnet"] ], "content": "# Installation\n\nNow includes setup instructions for testnet users." }
Acknowledgements
This proposal builds on earlier ideas for decentralized wikis and documentation within Nostr, while solving common issues related to format instability and lack of project separation.
-
@ b0a838f2:34ed3f19
2025-05-23 18:03:56- AliasVault - End-to-end encrypted password manager with a built-in email alias generator and server. (Source Code)
MIT
Docker
- Bitwarden
⚠
- Password manager with a webapp, browser extension, and mobile app. (Source Code)AGPL-3.0
Docker/C#
- Passbolt - Collaborative password manager. (Source Code)
AGPL-3.0
PHP/deb/K8S/Docker
- PassIt - Simple password manage with sharing features by group and user, but no administration interface. (Demo, Source Code)
AGPL-3.0
Docker/Django
- Passky - Simple and modern password manager with website, browser extension, android and desktop application. (Demo, Source Code)
GPL-3.0
PHP/Docker
- Psono - Password manager for companies. (Demo, Source Code)
Apache-2.0
Python
- Teampass - Password manager dedicated for managing passwords in a collaborative way. One symmetric key is used to encrypt all shared/team passwords and stored server side in a file and the database. works on any server Apache, MySQL and PHP. (Source Code)
GPL-3.0
PHP
- Vaultwarden - Lightweight Bitwarden server API implementation written in Rust.
GPL-3.0
Rust/Docker
- AliasVault - End-to-end encrypted password manager with a built-in email alias generator and server. (Source Code)
-
@ e17e9a18:66d67a6b
2025-05-19 11:46:09We wrote this album to explain the inspiration behind Mutiny Brewing, and as a way to share the story of Bitcoin and freedom technologies like nostr. Through these songs, we’ve tried to capture every truth that we believe is essential to understand about money, freedom, trust, and human connection in the internet age. It’s our way of making these ideas real and relatable, and we hope it helps others see the power of taking control of their future through the systems we use.
01. "Tomorrow's Prices on Yesterday's Wage" explores the harsh reality of inflation. As central banks inflate the money supply, prices rise faster than wages, leaving us constantly falling behind. People, expecting prices to keep climbing, borrow more to buy sooner, pushing prices even higher in a vicious cycle. You're always a step behind, forced to pay tomorrow's inflated prices with yesterday's stagnant wages.
https://wavlake.com/track/76a6cd02-e876-4a37-b093-1fe919e9eabe
02. "Everybody Works For The Bank" "Everybody Works For The Bank" exposes the hidden truth behind our fiat money system.
When banks issue loans, they don’t lend existing money — they create new money from debt. You’re on the hook for the principal and the interest. But the interest doesn’t exist yet — it has to come from someone else borrowing. That means the system only works if debt keeps growing.
When it doesn’t, the whole thing wobbles. Governments step in to bail out the banks by printing more money, and that cost doesn’t vanish. It shows up in your taxes, your savings, and your grocery bill.
We’re not just working to pay our own debts, we’re paying for their losses too.
https://wavlake.com/track/4d94cb4b-ff3b-4423-be6a-03e0be8177d6
03. "Let My People Go" references Moses' demand for freedom but directly draws from Proverbs 6:1–5, exposing the danger of debt based money. Every dollar you hold is actually someone else's debt, making you personally liable—held in the hand of your debtor and at risk of their losses, which you ultimately pay for through inflation or higher taxes. As the song says, "The more you try to save it up, the deeper in you get." The wisdom of Proverbs urges immediate action, pleading urgently to escape this trap and free yourself, like a gazelle from a hunter.
https://wavlake.com/track/76214ff1-f8fd-45b0-a677-d9c285b1e7d6
04. "Mutiny Brewing" embodies Friedrich Hayek's insight: "I don't believe we shall ever have good money again before we take it out of the hands of government... we can't take it violently... all we can do is by some sly roundabout way introduce something they can't stop."
Inspired also by the Cypherpunk manifesto's rallying cry, "We will write the code", the song celebrates Bitcoin as exactly that unstoppable solution.
"Not here to break ya, just here to create our own little world where we determine our fate." https://wavlake.com/track/ba767fc8-6afc-4b0d-be64-259b340432f3
05. "Invisible Wealth" is inspired by The Sovereign Individual, a groundbreaking 1990s book that predicted the rise of digital money and explores how the return on violence shaped civilizations. The song references humanity's vulnerability since agriculture began—where stored wealth attracted violence, forcing reliance on larger governments for protection.
Today, digital privacy enabled by cryptography fundamentally changes this dynamic. When wealth is stored privately, secured by cryptographic keys, violence becomes ineffective. As the song emphasizes, "You can't bomb what you can't see." Cryptography dismantles traditional power structures, providing individuals true financial security, privacy, and freedom from exploitation.
“Violence is useless against cryptography” https://wavlake.com/track/648da3cc-d58c-4049-abe0-d22f9e61fef0
06. "Run A Node" is a rallying cry for Bitcoin's decentralisation. At its heart, it's about personal verification and choice: every node is a vote, every check’s a voice. By running the code yourself, you enforce the rules you choose to follow. This is true digital democracy. When everyone participates, there's no room for collusion, and authority comes directly from transparent code rather than blind trust.
"Check the blocks, verify, ain't that hard to do When everyone's got eyes on it, can't slip nothin' throgh." https://wavlake.com/track/ee11362b-2e84-4631-b05e-df6d8e6797f8
07. "Leverage is a Liar" warns against gambling with your wealth, but beneath the surface, it's a sharp critique of fractional reserve banking. Fractional reserves inflate asset prices, creating the illusion of wealth built on leverage. This system isn't sustainable and inevitably leads to collapse. Real wealth requires sound money, money that can't be inflated. Trying to gain more through leverage only feeds the lie.
"Watch it burn higher and higher—leverage is a liar." https://wavlake.com/track/67f9c39c-c5e1-4e15-b171-f1f5442f29a5
08. "Don't Get Rekt" serves as a stark warning about trusting custodians with your Bitcoin. Highlighting infamous collapses like Mt.Gox, Celsius, and FTX. These modern failures echo the 1933 Executive Order 6102, where the US government forcibly seized citizens' gold, banned its use, and then promptly devalued the currency exchanged for it. History shows clearly: trusting others with your wealth means risking losing it all.
"Your keys, your life, don't forget." https://wavlake.com/track/fbd9b46d-56fc-4496-bc4b-71dec2043705
09. "One Language" critiques the thousands of cryptocurrencies claiming to be revolutionary. Like languages, while anyone can invent one, getting people to actually use it is another story. Most of these cryptos are just affinity scams, centralized towers built on shaky foundations. Drawing from The Bitcoin Standard, the song argues money naturally gravitates toward a single unit, a universal language understood by all. When the dust settles, only genuine, decentralized currency remains.
"One voice speaking loud and clear, the rest will disappear." https://wavlake.com/track/22fb4705-9a01-4f65-9b68-7e8a77406a16
10. "Key To Life" is an anthem dedicated to nostr, the permissionless, unstoppable internet identity protocol. Unlike mainstream social media’s walled gardens, nostr places your identity securely in a cryptographic key, allowing you total control. Every message or action you sign proves authenticity, verifiable by anyone. This ensures censorship resistant communication, crucial for decentralised coordination around Bitcoin, keeping it free from centralised control.
"I got the key that sets me free—my truth is mine, authentically." https://wavlake.com/track/0d702284-88d2-4d3a-9059-960cc9286d3f
11. "Web Of Trust" celebrates genuine human connections built through protocols like nostr, free from corporate algorithms and their manipulative agendas. Instead of top down control, it champions grassroots sharing of information among trusted peers, ensuring truth and authenticity rise naturally. It's about reclaiming our digital lives, building real communities where trust isn't manufactured by machines, but created by people.
"My filter, my future, my choice to make, real connections no one can fake." https://wavlake.com/track/b383d4e2-feba-4d63-b9f6-10382683b54b
12. "Proof Of Work" is an anthem for fair value creation. In Bitcoin, new money is earned through real work, computing power and electricity spent to secure the network. No shortcuts, no favourites. It's a system grounded in natural law: you reap what you sow. Unlike fiat money, which rewards those closest to power and the printing press, Proof of Work ensures rewards flow to those who put in the effort. Paper castles built on easy money will crumble, but real work builds lasting worth.
"Real work makes real worth, that's the law of this earth." https://wavlake.com/track/01bb7327-0e77-490b-9985-b5ff4d4fdcfc
13. "Stay Humble" is a reminder that true wealth isn’t measured in coins or possessions. It’s grounded in the truth that a man’s life does not consist in the abundance of his possessions. Real wealth is the freedom to use your life and time for what is good and meaningful. When you let go of the obsession with numbers, you make room for gratitude, purpose, and peace. It's not about counting coins, it's about counting your blessings.
"Real wealth ain't what you own, it's gratitude that sets the tone." https://wavlake.com/track/3fdb2e9b-2f52-4def-a8c5-c6b3ee1cd194
-
@ b0a838f2:34ed3f19
2025-05-23 18:03:41- Collabora Online Development Edition - Collabora Online Development Edition (CODE) is a powerful LibreOffice-based online office that supports all major document, spreadsheet and presentation file formats, which you can integrate in your own infrastructure. (Source Code)
MPL-2.0
C++
- CryptPad - Collaboration suite built to enable collaboration, synchronizing changes to documents in real time. (Source Code)
AGPL-3.0
Nodejs/Docker
- Digislides - Create multimedia presentations in a quick and easy way. (documentation in French). (Demo, Source Code)
AGPL-3.0
Nodejs/PHP
- Etherpad - Highly customizable online editor providing collaborative editing in real-time. (Demo, Source Code)
Apache-2.0
Nodejs/Docker
- Grist - Next-generation spreadsheet with relational structure, formula-based access control, and a portable, self-contained format (alternative to Airtable). (Demo, Source Code)
Apache-2.0
Nodejs/Python/Docker
- ONLYOFFICE - Office suite that enables you to manage documents, projects, team and customer relations in one place. (Source Code)
AGPL-3.0
Nodejs/Docker
- Collabora Online Development Edition - Collabora Online Development Edition (CODE) is a powerful LibreOffice-based online office that supports all major document, spreadsheet and presentation file formats, which you can integrate in your own infrastructure. (Source Code)
-
@ 91bea5cd:1df4451c
2025-04-15 06:27:28Básico
bash lsblk # Lista todos os diretorios montados.
Para criar o sistema de arquivos:
bash mkfs.btrfs -L "ThePool" -f /dev/sdx
Criando um subvolume:
bash btrfs subvolume create SubVol
Montando Sistema de Arquivos:
bash mount -o compress=zlib,subvol=SubVol,autodefrag /dev/sdx /mnt
Lista os discos formatados no diretório:
bash btrfs filesystem show /mnt
Adiciona novo disco ao subvolume:
bash btrfs device add -f /dev/sdy /mnt
Lista novamente os discos do subvolume:
bash btrfs filesystem show /mnt
Exibe uso dos discos do subvolume:
bash btrfs filesystem df /mnt
Balancea os dados entre os discos sobre raid1:
bash btrfs filesystem balance start -dconvert=raid1 -mconvert=raid1 /mnt
Scrub é uma passagem por todos os dados e metadados do sistema de arquivos e verifica as somas de verificação. Se uma cópia válida estiver disponível (perfis de grupo de blocos replicados), a danificada será reparada. Todas as cópias dos perfis replicados são validadas.
iniciar o processo de depuração :
bash btrfs scrub start /mnt
ver o status do processo de depuração Btrfs em execução:
bash btrfs scrub status /mnt
ver o status do scrub Btrfs para cada um dos dispositivos
bash btrfs scrub status -d / data btrfs scrub cancel / data
Para retomar o processo de depuração do Btrfs que você cancelou ou pausou:
btrfs scrub resume / data
Listando os subvolumes:
bash btrfs subvolume list /Reports
Criando um instantâneo dos subvolumes:
Aqui, estamos criando um instantâneo de leitura e gravação chamado snap de marketing do subvolume de marketing.
bash btrfs subvolume snapshot /Reports/marketing /Reports/marketing-snap
Além disso, você pode criar um instantâneo somente leitura usando o sinalizador -r conforme mostrado. O marketing-rosnap é um instantâneo somente leitura do subvolume de marketing
bash btrfs subvolume snapshot -r /Reports/marketing /Reports/marketing-rosnap
Forçar a sincronização do sistema de arquivos usando o utilitário 'sync'
Para forçar a sincronização do sistema de arquivos, invoque a opção de sincronização conforme mostrado. Observe que o sistema de arquivos já deve estar montado para que o processo de sincronização continue com sucesso.
bash btrfs filsystem sync /Reports
Para excluir o dispositivo do sistema de arquivos, use o comando device delete conforme mostrado.
bash btrfs device delete /dev/sdc /Reports
Para sondar o status de um scrub, use o comando scrub status com a opção -dR .
bash btrfs scrub status -dR / Relatórios
Para cancelar a execução do scrub, use o comando scrub cancel .
bash $ sudo btrfs scrub cancel / Reports
Para retomar ou continuar com uma depuração interrompida anteriormente, execute o comando de cancelamento de depuração
bash sudo btrfs scrub resume /Reports
mostra o uso do dispositivo de armazenamento:
btrfs filesystem usage /data
Para distribuir os dados, metadados e dados do sistema em todos os dispositivos de armazenamento do RAID (incluindo o dispositivo de armazenamento recém-adicionado) montados no diretório /data , execute o seguinte comando:
sudo btrfs balance start --full-balance /data
Pode demorar um pouco para espalhar os dados, metadados e dados do sistema em todos os dispositivos de armazenamento do RAID se ele contiver muitos dados.
Opções importantes de montagem Btrfs
Nesta seção, vou explicar algumas das importantes opções de montagem do Btrfs. Então vamos começar.
As opções de montagem Btrfs mais importantes são:
**1. acl e noacl
**ACL gerencia permissões de usuários e grupos para os arquivos/diretórios do sistema de arquivos Btrfs.
A opção de montagem acl Btrfs habilita ACL. Para desabilitar a ACL, você pode usar a opção de montagem noacl .
Por padrão, a ACL está habilitada. Portanto, o sistema de arquivos Btrfs usa a opção de montagem acl por padrão.
**2. autodefrag e noautodefrag
**Desfragmentar um sistema de arquivos Btrfs melhorará o desempenho do sistema de arquivos reduzindo a fragmentação de dados.
A opção de montagem autodefrag permite a desfragmentação automática do sistema de arquivos Btrfs.
A opção de montagem noautodefrag desativa a desfragmentação automática do sistema de arquivos Btrfs.
Por padrão, a desfragmentação automática está desabilitada. Portanto, o sistema de arquivos Btrfs usa a opção de montagem noautodefrag por padrão.
**3. compactar e compactar-forçar
**Controla a compactação de dados no nível do sistema de arquivos do sistema de arquivos Btrfs.
A opção compactar compacta apenas os arquivos que valem a pena compactar (se compactar o arquivo economizar espaço em disco).
A opção compress-force compacta todos os arquivos do sistema de arquivos Btrfs, mesmo que a compactação do arquivo aumente seu tamanho.
O sistema de arquivos Btrfs suporta muitos algoritmos de compactação e cada um dos algoritmos de compactação possui diferentes níveis de compactação.
Os algoritmos de compactação suportados pelo Btrfs são: lzo , zlib (nível 1 a 9) e zstd (nível 1 a 15).
Você pode especificar qual algoritmo de compactação usar para o sistema de arquivos Btrfs com uma das seguintes opções de montagem:
- compress=algoritmo:nível
- compress-force=algoritmo:nível
Para obter mais informações, consulte meu artigo Como habilitar a compactação do sistema de arquivos Btrfs .
**4. subvol e subvolid
**Estas opções de montagem são usadas para montar separadamente um subvolume específico de um sistema de arquivos Btrfs.
A opção de montagem subvol é usada para montar o subvolume de um sistema de arquivos Btrfs usando seu caminho relativo.
A opção de montagem subvolid é usada para montar o subvolume de um sistema de arquivos Btrfs usando o ID do subvolume.
Para obter mais informações, consulte meu artigo Como criar e montar subvolumes Btrfs .
**5. dispositivo
A opção de montagem de dispositivo** é usada no sistema de arquivos Btrfs de vários dispositivos ou RAID Btrfs.
Em alguns casos, o sistema operacional pode falhar ao detectar os dispositivos de armazenamento usados em um sistema de arquivos Btrfs de vários dispositivos ou RAID Btrfs. Nesses casos, você pode usar a opção de montagem do dispositivo para especificar os dispositivos que deseja usar para o sistema de arquivos de vários dispositivos Btrfs ou RAID.
Você pode usar a opção de montagem de dispositivo várias vezes para carregar diferentes dispositivos de armazenamento para o sistema de arquivos de vários dispositivos Btrfs ou RAID.
Você pode usar o nome do dispositivo (ou seja, sdb , sdc ) ou UUID , UUID_SUB ou PARTUUID do dispositivo de armazenamento com a opção de montagem do dispositivo para identificar o dispositivo de armazenamento.
Por exemplo,
- dispositivo=/dev/sdb
- dispositivo=/dev/sdb,dispositivo=/dev/sdc
- dispositivo=UUID_SUB=490a263d-eb9a-4558-931e-998d4d080c5d
- device=UUID_SUB=490a263d-eb9a-4558-931e-998d4d080c5d,device=UUID_SUB=f7ce4875-0874-436a-b47d-3edef66d3424
**6. degraded
A opção de montagem degradada** permite que um RAID Btrfs seja montado com menos dispositivos de armazenamento do que o perfil RAID requer.
Por exemplo, o perfil raid1 requer a presença de 2 dispositivos de armazenamento. Se um dos dispositivos de armazenamento não estiver disponível em qualquer caso, você usa a opção de montagem degradada para montar o RAID mesmo que 1 de 2 dispositivos de armazenamento esteja disponível.
**7. commit
A opção commit** mount é usada para definir o intervalo (em segundos) dentro do qual os dados serão gravados no dispositivo de armazenamento.
O padrão é definido como 30 segundos.
Para definir o intervalo de confirmação para 15 segundos, você pode usar a opção de montagem commit=15 (digamos).
**8. ssd e nossd
A opção de montagem ssd** informa ao sistema de arquivos Btrfs que o sistema de arquivos está usando um dispositivo de armazenamento SSD, e o sistema de arquivos Btrfs faz a otimização SSD necessária.
A opção de montagem nossd desativa a otimização do SSD.
O sistema de arquivos Btrfs detecta automaticamente se um SSD é usado para o sistema de arquivos Btrfs. Se um SSD for usado, a opção de montagem de SSD será habilitada. Caso contrário, a opção de montagem nossd é habilitada.
**9. ssd_spread e nossd_spread
A opção de montagem ssd_spread** tenta alocar grandes blocos contínuos de espaço não utilizado do SSD. Esse recurso melhora o desempenho de SSDs de baixo custo (baratos).
A opção de montagem nossd_spread desativa o recurso ssd_spread .
O sistema de arquivos Btrfs detecta automaticamente se um SSD é usado para o sistema de arquivos Btrfs. Se um SSD for usado, a opção de montagem ssd_spread será habilitada. Caso contrário, a opção de montagem nossd_spread é habilitada.
**10. descarte e nodiscard
Se você estiver usando um SSD que suporte TRIM enfileirado assíncrono (SATA rev3.1), a opção de montagem de descarte** permitirá o descarte de blocos de arquivos liberados. Isso melhorará o desempenho do SSD.
Se o SSD não suportar TRIM enfileirado assíncrono, a opção de montagem de descarte prejudicará o desempenho do SSD. Nesse caso, a opção de montagem nodiscard deve ser usada.
Por padrão, a opção de montagem nodiscard é usada.
**11. norecovery
Se a opção de montagem norecovery** for usada, o sistema de arquivos Btrfs não tentará executar a operação de recuperação de dados no momento da montagem.
**12. usebackuproot e nousebackuproot
Se a opção de montagem usebackuproot for usada, o sistema de arquivos Btrfs tentará recuperar qualquer raiz de árvore ruim/corrompida no momento da montagem. O sistema de arquivos Btrfs pode armazenar várias raízes de árvore no sistema de arquivos. A opção de montagem usebackuproot** procurará uma boa raiz de árvore e usará a primeira boa que encontrar.
A opção de montagem nousebackuproot não verificará ou recuperará raízes de árvore inválidas/corrompidas no momento da montagem. Este é o comportamento padrão do sistema de arquivos Btrfs.
**13. space_cache, space_cache=version, nospace_cache e clear_cache
A opção de montagem space_cache** é usada para controlar o cache de espaço livre. O cache de espaço livre é usado para melhorar o desempenho da leitura do espaço livre do grupo de blocos do sistema de arquivos Btrfs na memória (RAM).
O sistema de arquivos Btrfs suporta 2 versões do cache de espaço livre: v1 (padrão) e v2
O mecanismo de cache de espaço livre v2 melhora o desempenho de sistemas de arquivos grandes (tamanho de vários terabytes).
Você pode usar a opção de montagem space_cache=v1 para definir a v1 do cache de espaço livre e a opção de montagem space_cache=v2 para definir a v2 do cache de espaço livre.
A opção de montagem clear_cache é usada para limpar o cache de espaço livre.
Quando o cache de espaço livre v2 é criado, o cache deve ser limpo para criar um cache de espaço livre v1 .
Portanto, para usar o cache de espaço livre v1 após a criação do cache de espaço livre v2 , as opções de montagem clear_cache e space_cache=v1 devem ser combinadas: clear_cache,space_cache=v1
A opção de montagem nospace_cache é usada para desabilitar o cache de espaço livre.
Para desabilitar o cache de espaço livre após a criação do cache v1 ou v2 , as opções de montagem nospace_cache e clear_cache devem ser combinadas: clear_cache,nosapce_cache
**14. skip_balance
Por padrão, a operação de balanceamento interrompida/pausada de um sistema de arquivos Btrfs de vários dispositivos ou RAID Btrfs será retomada automaticamente assim que o sistema de arquivos Btrfs for montado. Para desabilitar a retomada automática da operação de equilíbrio interrompido/pausado em um sistema de arquivos Btrfs de vários dispositivos ou RAID Btrfs, você pode usar a opção de montagem skip_balance .**
**15. datacow e nodatacow
A opção datacow** mount habilita o recurso Copy-on-Write (CoW) do sistema de arquivos Btrfs. É o comportamento padrão.
Se você deseja desabilitar o recurso Copy-on-Write (CoW) do sistema de arquivos Btrfs para os arquivos recém-criados, monte o sistema de arquivos Btrfs com a opção de montagem nodatacow .
**16. datasum e nodatasum
A opção datasum** mount habilita a soma de verificação de dados para arquivos recém-criados do sistema de arquivos Btrfs. Este é o comportamento padrão.
Se você não quiser que o sistema de arquivos Btrfs faça a soma de verificação dos dados dos arquivos recém-criados, monte o sistema de arquivos Btrfs com a opção de montagem nodatasum .
Perfis Btrfs
Um perfil Btrfs é usado para informar ao sistema de arquivos Btrfs quantas cópias dos dados/metadados devem ser mantidas e quais níveis de RAID devem ser usados para os dados/metadados. O sistema de arquivos Btrfs contém muitos perfis. Entendê-los o ajudará a configurar um RAID Btrfs da maneira que você deseja.
Os perfis Btrfs disponíveis são os seguintes:
single : Se o perfil único for usado para os dados/metadados, apenas uma cópia dos dados/metadados será armazenada no sistema de arquivos, mesmo se você adicionar vários dispositivos de armazenamento ao sistema de arquivos. Assim, 100% do espaço em disco de cada um dos dispositivos de armazenamento adicionados ao sistema de arquivos pode ser utilizado.
dup : Se o perfil dup for usado para os dados/metadados, cada um dos dispositivos de armazenamento adicionados ao sistema de arquivos manterá duas cópias dos dados/metadados. Assim, 50% do espaço em disco de cada um dos dispositivos de armazenamento adicionados ao sistema de arquivos pode ser utilizado.
raid0 : No perfil raid0 , os dados/metadados serão divididos igualmente em todos os dispositivos de armazenamento adicionados ao sistema de arquivos. Nesta configuração, não haverá dados/metadados redundantes (duplicados). Assim, 100% do espaço em disco de cada um dos dispositivos de armazenamento adicionados ao sistema de arquivos pode ser usado. Se, em qualquer caso, um dos dispositivos de armazenamento falhar, todo o sistema de arquivos será corrompido. Você precisará de pelo menos dois dispositivos de armazenamento para configurar o sistema de arquivos Btrfs no perfil raid0 .
raid1 : No perfil raid1 , duas cópias dos dados/metadados serão armazenadas nos dispositivos de armazenamento adicionados ao sistema de arquivos. Nesta configuração, a matriz RAID pode sobreviver a uma falha de unidade. Mas você pode usar apenas 50% do espaço total em disco. Você precisará de pelo menos dois dispositivos de armazenamento para configurar o sistema de arquivos Btrfs no perfil raid1 .
raid1c3 : No perfil raid1c3 , três cópias dos dados/metadados serão armazenadas nos dispositivos de armazenamento adicionados ao sistema de arquivos. Nesta configuração, a matriz RAID pode sobreviver a duas falhas de unidade, mas você pode usar apenas 33% do espaço total em disco. Você precisará de pelo menos três dispositivos de armazenamento para configurar o sistema de arquivos Btrfs no perfil raid1c3 .
raid1c4 : No perfil raid1c4 , quatro cópias dos dados/metadados serão armazenadas nos dispositivos de armazenamento adicionados ao sistema de arquivos. Nesta configuração, a matriz RAID pode sobreviver a três falhas de unidade, mas você pode usar apenas 25% do espaço total em disco. Você precisará de pelo menos quatro dispositivos de armazenamento para configurar o sistema de arquivos Btrfs no perfil raid1c4 .
raid10 : No perfil raid10 , duas cópias dos dados/metadados serão armazenadas nos dispositivos de armazenamento adicionados ao sistema de arquivos, como no perfil raid1 . Além disso, os dados/metadados serão divididos entre os dispositivos de armazenamento, como no perfil raid0 .
O perfil raid10 é um híbrido dos perfis raid1 e raid0 . Alguns dos dispositivos de armazenamento formam arrays raid1 e alguns desses arrays raid1 são usados para formar um array raid0 . Em uma configuração raid10 , o sistema de arquivos pode sobreviver a uma única falha de unidade em cada uma das matrizes raid1 .
Você pode usar 50% do espaço total em disco na configuração raid10 . Você precisará de pelo menos quatro dispositivos de armazenamento para configurar o sistema de arquivos Btrfs no perfil raid10 .
raid5 : No perfil raid5 , uma cópia dos dados/metadados será dividida entre os dispositivos de armazenamento. Uma única paridade será calculada e distribuída entre os dispositivos de armazenamento do array RAID.
Em uma configuração raid5 , o sistema de arquivos pode sobreviver a uma única falha de unidade. Se uma unidade falhar, você pode adicionar uma nova unidade ao sistema de arquivos e os dados perdidos serão calculados a partir da paridade distribuída das unidades em execução.
Você pode usar 1 00x(N-1)/N % do total de espaços em disco na configuração raid5 . Aqui, N é o número de dispositivos de armazenamento adicionados ao sistema de arquivos. Você precisará de pelo menos três dispositivos de armazenamento para configurar o sistema de arquivos Btrfs no perfil raid5 .
raid6 : No perfil raid6 , uma cópia dos dados/metadados será dividida entre os dispositivos de armazenamento. Duas paridades serão calculadas e distribuídas entre os dispositivos de armazenamento do array RAID.
Em uma configuração raid6 , o sistema de arquivos pode sobreviver a duas falhas de unidade ao mesmo tempo. Se uma unidade falhar, você poderá adicionar uma nova unidade ao sistema de arquivos e os dados perdidos serão calculados a partir das duas paridades distribuídas das unidades em execução.
Você pode usar 100x(N-2)/N % do espaço total em disco na configuração raid6 . Aqui, N é o número de dispositivos de armazenamento adicionados ao sistema de arquivos. Você precisará de pelo menos quatro dispositivos de armazenamento para configurar o sistema de arquivos Btrfs no perfil raid6 .
-
@ 45bda953:bc1e518e
2025-05-19 09:49:40This post will be edited and refined over time.
Eschatology is the study of Biblical prophecy pertaining to what is commonly referred to as the end times. Bitcoin is the transformation of Austrian school economics theory into an efficient and applicable method driven by natural incentives and free market consensus mechanisms.
What happens when eschatology is viewed through a Bitcoin inspired world view?
In this thesis I contend that it is possible and very probable that the consequences of what Satoshi Nakamoto created in Bitcoin and the prophecies surrounding Jesus Christ with regards to the second coming and a thousand year kingdom of peace and prosperity convalesce into a very compelling argument for Biblical prophecy fulfilment.
...
No one would argue that modern major banks are today more powerful than kings of old and governments are mere puppets to the sway that the banking empires hold over them.
In Biblical prophecy when kings and powers are mentioned people rarely think of banking but nothing is comparable to the immense scale of wealth, power and territory controlled directly or indirectly by banks.
IMF, BIS, the FED and Blackrock are where the levers of power are pulled in the current dispensation. Governments restructure more frequently than these institutions whom endure and exercise unmerited influence over said governments and the public interests they claim to represent.
An excerpt from the King James Bible, Daniel chapter 2 describes prophetically the ages of man and its rotations of power.
Interesting to note that it is symbolically portrayed in monetary/industrial metals. All used as tokens for trade, symbols of wealth and manufacture.
Gold, silver, bronze, iron and clay. Gold has been a dominant symbol of power and wealth through millennia. Silver, brass and iron ores are mainly industrial metals although they all had prominent turns as coinage. Due to the debasement and concentration of gold specifically.
Clay on the other hand is only a symbol of power in construction and iron has never been used in construction to the extent it is in the 20th and 21st century. Skyscrapers are the symbols of money and power today, i.e. big bank and government buildings.
Daniel Chapter 2:24–45
24Therefore Daniel went to Arioch, whom the king had appointed to destroy the wise men of Babylon. He went and said thus to him: “Do not destroy the wise men of Babylon; take me before the king, and I will tell the king the interpretation.”
25Then Arioch quickly brought Daniel before the king, and said thus to him, “I have found a man of the captives of Judah, who will make known to the king the interpretation.”
26The king answered and said to Daniel, whose name was Belteshazzar, “Are you able to make known to me the dream which I have seen, and its interpretation?”
27Daniel answered in the presence of the king, and said, “The secret which the king has demanded, the wise men, the astrologers, the magicians, and the soothsayers cannot declare to the king. 28But there is a God in heaven who reveals secrets, and He has made known to King Nebuchadnezzar what will be in the latter days. Your dream, and the visions of your head upon your bed, were these: 29As for you, O king, thoughts came to your mind while on your bed, about what would come to pass after this; and He who reveals secrets has made known to you what will be. 30But as for me, this secret has not been revealed to me because I have more wisdom than anyone living, but for our sakes who make known the interpretation to the king, and that you may know the thoughts of your heart.
31“You, O king, were watching; and behold, a great image! This great image, whose splendor was excellent, stood before you; and its form was awesome. 32This image’s head was of fine gold, its chest and arms of silver, its belly and thighs of bronze, 33its legs of iron, its feet partly of iron and partly of clay. 34You watched while a stone was cut out without hands, which struck the image on its feet of iron and clay, and broke them in pieces. 35Then the iron, the clay, the bronze, the silver, and the gold were crushed together, and became like chaff from the summer threshing floors; the wind carried them away so that no trace of them was found. And the stone that struck the image became a great mountain and filled the whole earth.
36“This is the dream. Now we will tell the interpretation of it before the king. 37You, O king, are a king of kings. For the God of heaven has given you a kingdom, power, strength, and glory; 38and wherever the children of men dwell, or the beasts of the field and the birds of the heaven, He has given them into your hand, and has made you ruler over them all — you are this head of gold. 39But after you shall arise another kingdom inferior to yours; then another, a third kingdom of bronze, which shall rule over all the earth. 40And the fourth kingdom shall be as strong as iron, inasmuch as iron breaks in pieces and shatters everything; and like iron that crushes, that kingdom will break in pieces and crush all the others. 41Whereas you saw the feet and toes, partly of potter’s clay and partly of iron, the kingdom shall be divided; yet the strength of the iron shall be in it, just as you saw the iron mixed with ceramic clay. 42And as the toes of the feet were partly of iron and partly of clay, so the kingdom shall be partly strong and partly fragile. 43As you saw iron mixed with ceramic clay, they will mingle with the seed of men; but they will not adhere to one another, just as iron does not mix with clay. 44And in the days of these kings the God of heaven will set up a kingdom which shall never be destroyed; and the kingdom shall not be left to other people; it shall break in pieces and consume all these kingdoms, and it shall stand forever. 45Inasmuch as you saw that the stone was cut out of the mountain without hands, and that it broke in pieces the iron, the bronze, the clay, the silver, and the gold — the great God has made known to the king what will come to pass after this. The dream is certain, and its interpretation is sure.”
I speculate that the toes of iron and clay represent the world banking empire. Skyscrapers are constructed from iron and cement. Different forms of clay is a necessary cement ingredient. Architecture has always been used as a symbol of dominance by rulers especially true of systems who use awe as a means to cause feelings of insignificance in the individual thereby asserting their power at low cost. Ironically it never costs the ruler to create these structures, the cost is always carried by the people in time, resources and energy.
Skyscrapers and large construction are the modern symbols of money and power. Not so much kings, palaces and temples. The stone breaking the power of the statue has to break something contemporary other than kings and palaces if it is to be eschatological prophecy fulfilled in our time.
https://www.britannica.com/technology/cement-building-material/History-of-cement
The invention of portland cement usually is attributed to Joseph Aspdin of Leeds, Yorkshire, England, who in 1824 took out a patent for a material that was produced from a synthetic mixture of limestone and clay.
https://www.thoughtco.com/how-skyscrapers-became-possible-1991649
Later, taller and taller buildings were made possible through a series of architectural and engineering innovations, including the invention of the first process to mass-produce steel.
Construction of skyscrapers was made possible thanks to Englishman Henry Bessemer, (1856 to 1950) who invented the first process to mass-produce steel inexpensively.
You watched while a stone was cut out without hands,
No hands needed when the stone is an idea.
As a thought experiment, imagine there was a base metal as scarce as gold but with the following properties:\ — boring grey in colour\ — not a good conductor of electricity\ — not particularly strong, but not ductile or easily malleable either\ — not useful for any practical or ornamental purpose\ \ and one special, magical property:\ — can be transported over a communications channel
Greshams Law illustrated in slow motion picture.
1: The banks collapse. Being fundamentally weak because of zero reserve lending, any student of Austrian economics has been correctly predicting banking collapse, and have incorrectly been advocating gold as the solution to this collapse. Many of the big economies are valued through their housing market. Housing will be demonetised (Iron and clay economy) meaning shelter and property will become affordable to the average wage earner again. The large cement and iron structures become redundant. Everyone will work from home and a value to value economy will make banks seem like relics from an age of stupidity and evil.
2: Industrial metal iron will not be for mega structures that contain speculators and bookkeepers who have fiat jobs slaving for fiat money. Iron will be used to improve the lives of individuals. Iron as coinage is already demonetised.
3: Brass is demonetised as coinage and only valuable in industry. Ammunition, music, plumbing etcetera.
4: Silver has been a terrible money throughout history and when the silver investors wake up to the fact that they are holding onto a redundant asset with zero monetary properties compared to the alternative they will dump their holdings, crashing the silver market and subsequently reducing the prices of producing -
solder and brazing alloys, batteries, dentistry, TV screens, smart phones microwave ovens, ad infinitum. To quote Jeff Booth. "Prices always fall to the marginal cost of production."
5: The final Rubicon is gold, people get excited about the Bitcoin exchange traded funds but it is nothing compared to the value proposition when gold pundits, large investment funds, governments pension funds and reserve banks finally realise that gold is worthless as money in this new dispensation.
To illustrate the point more vividly.
Ezekiel 7:19
They shall cast their silver in the streets, and their gold shall be removed: their silver and their gold shall not be able to deliver them in the day of the wrath of the LORD: they shall not satisfy their souls, neither fill their bowels: because it is the stumbling block of their iniquity.
What we are witnessing is the biggest rug pull the world has ever seen. In this future metals will exclusively be used for industrial use cases after being stripped of their monetary premium.
This collapse is something that happens slowly over a long period of time. More or less one hour.
Revelation 18 verse 11–19 (The fall of Babylon)
And the merchants of the earth shall weep and mourn over her; for no man buyeth their merchandise any more: The merchandise of gold, and silver, and precious stones, and of pearls, and fine linen, and purple, and silk, and scarlet, and all thyine wood, and all manner vessels of ivory, and all manner vessels of most precious wood, and of brass, and iron, and marble, And cinnamon, and odours, and ointments, and frankincense, and wine, and oil, and fine flour, and wheat, and beasts, and sheep, and horses, and chariots, and slaves, and souls of men. And the fruits that thy soul lusted after are departed from thee, and all things which were dainty and goodly are departed from thee, and thou shalt find them no more at all. The merchants of these things, which were made rich by her, shall stand afar off for the fear of her torment, weeping and wailing, And saying, Alas, alas, that great city, that was clothed in fine linen, and purple, and scarlet, and decked with gold, and precious stones, and pearls! For in one hour so great riches is come to nought. And every shipmaster, and all the company in ships, and sailors, and as many as trade by sea, stood afar off, And cried when they saw the smoke of her burning, saying, What city is like unto this great city! And they cast dust on their heads, and cried, weeping and wailing, saying, Alas, alas, that great city, wherein were made rich all that had ships in the sea by reason of her costliness! for in one hour is she made desolate.
TLDR - No more money printer go BRRR. means death to the bourgeoisie cantillionaire class.**
Is it realistic to assume that all the worlds monetised industries collapse to fair value in one hour?
Coming back to eschatology, 2 Peter 3:8
But, beloved, be not ignorant of this one thing, that one day is with the Lord as a thousand years, and a thousand years as one day.
Eschatology students use this verse to speculatively project the fulfilment of Biblical prophecies with regards to their predicted time of occurrence. Now let’s apply this to Babylon falling in one hour.
1000 (one day) divided by 24 (hours) equals 41,6 years (one hour)
Since the first block was mined in January 2009 you add 41,6 years you get a completion date of 2050 a.d
Remember, this stone (Bitcoin) becomes a great mountain and fills the whole earth. A kingdom which shall never be destroyed; and the kingdom shall not be left to other people; it shall break in pieces and consume all these kingdoms, and it shall stand forever. The dream is certain, and its interpretation is sure.
But contemporary sources must reflect this probability if it is a good theory.
https://www.newsbtc.com/news/50-of-population-to-use-bitcoin-by-2043-if-crypto-follows-internet-adoption/
If the banking system is first to collapse we can give it +- 10 years and we are already 14 years in since (Genesis Block) the stone struck the feet. People are slow to see the reality of the world they are living in. If all this is accurate then the world banking system is doomed.
https://www.youtube.com/watch?v=exK5yFEuBsk
Regards
Echo Delta
bitbib
-
@ 3b3a42d3:d192e325
2025-04-10 08:57:51Atomic Signature Swaps (ASS) over Nostr is a protocol for atomically exchanging Schnorr signatures using Nostr events for orchestration. This new primitive enables multiple interesting applications like:
- Getting paid to publish specific Nostr events
- Issuing automatic payment receipts
- Contract signing in exchange for payment
- P2P asset exchanges
- Trading and enforcement of asset option contracts
- Payment in exchange for Nostr-based credentials or access tokens
- Exchanging GMs 🌞
It only requires that (i) the involved signatures be Schnorr signatures using the secp256k1 curve and that (ii) at least one of those signatures be accessible to both parties. These requirements are naturally met by Nostr events (published to relays), Taproot transactions (published to the mempool and later to the blockchain), and Cashu payments (using mints that support NUT-07, allowing any pair of these signatures to be swapped atomically.
How the Cryptographic Magic Works 🪄
This is a Schnorr signature
(Zₓ, s)
:s = z + H(Zₓ || P || m)⋅k
If you haven't seen it before, don't worry, neither did I until three weeks ago.
The signature scalar s is the the value a signer with private key
k
(and public keyP = k⋅G
) must calculate to prove his commitment over the messagem
given a randomly generated noncez
(Zₓ
is just the x-coordinate of the public pointZ = z⋅G
).H
is a hash function (sha256 with the tag "BIP0340/challenge" when dealing with BIP340),||
just means to concatenate andG
is the generator point of the elliptic curve, used to derive public values from private ones.Now that you understand what this equation means, let's just rename
z = r + t
. We can do that,z
is just a randomly generated number that can be represented as the sum of two other numbers. It also follows thatz⋅G = r⋅G + t⋅G ⇔ Z = R + T
. Putting it all back into the definition of a Schnorr signature we get:s = (r + t) + H((R + T)ₓ || P || m)⋅k
Which is the same as:
s = sₐ + t
wheresₐ = r + H((R + T)ₓ || P || m)⋅k
sₐ
is what we call the adaptor signature scalar) and t is the secret.((R + T)ₓ, sₐ)
is an incomplete signature that just becomes valid by add the secret t to thesₐ
:s = sₐ + t
What is also important for our purposes is that by getting access to the valid signature s, one can also extract t from it by just subtracting
sₐ
:t = s - sₐ
The specific value of
t
depends on our choice of the public pointT
, sinceR
is just a public point derived from a randomly generated noncer
.So how do we choose
T
so that it requires the secret t to be the signature over a specific messagem'
by an specific public keyP'
? (without knowing the value oft
)Let's start with the definition of t as a valid Schnorr signature by P' over m':
t = r' + H(R'ₓ || P' || m')⋅k' ⇔ t⋅G = r'⋅G + H(R'ₓ || P' || m')⋅k'⋅G
That is the same as:
T = R' + H(R'ₓ || P' || m')⋅P'
Notice that in order to calculate the appropriate
T
that requirest
to be an specific signature scalar, we only need to know the public nonceR'
used to generate that signature.In summary: in order to atomically swap Schnorr signatures, one party
P'
must provide a public nonceR'
, while the other partyP
must provide an adaptor signature using that nonce:sₐ = r + H((R + T)ₓ || P || m)⋅k
whereT = R' + H(R'ₓ || P' || m')⋅P'
P'
(the nonce provider) can then add his own signature t to the adaptor signaturesₐ
in order to get a valid signature byP
, i.e.s = sₐ + t
. When he publishes this signature (as a Nostr event, Cashu transaction or Taproot transaction), it becomes accessible toP
that can now extract the signaturet
byP'
and also make use of it.Important considerations
A signature may not be useful at the end of the swap if it unlocks funds that have already been spent, or that are vulnerable to fee bidding wars.
When a swap involves a Taproot UTXO, it must always use a 2-of-2 multisig timelock to avoid those issues.
Cashu tokens do not require this measure when its signature is revealed first, because the mint won't reveal the other signature if they can't be successfully claimed, but they also require a 2-of-2 multisig timelock when its signature is only revealed last (what is unavoidable in cashu for cashu swaps).
For Nostr events, whoever receives the signature first needs to publish it to at least one relay that is accessible by the other party. This is a reasonable expectation in most cases, but may be an issue if the event kind involved is meant to be used privately.
How to Orchestrate the Swap over Nostr?
Before going into the specific event kinds, it is important to recognize what are the requirements they must meet and what are the concerns they must address. There are mainly three requirements:
- Both parties must agree on the messages they are going to sign
- One party must provide a public nonce
- The other party must provide an adaptor signature using that nonce
There is also a fundamental asymmetry in the roles of both parties, resulting in the following significant downsides for the party that generates the adaptor signature:
- NIP-07 and remote signers do not currently support the generation of adaptor signatures, so he must either insert his nsec in the client or use a fork of another signer
- There is an overhead of retrieving the completed signature containing the secret, either from the blockchain, mint endpoint or finding the appropriate relay
- There is risk he may not get his side of the deal if the other party only uses his signature privately, as I have already mentioned
- There is risk of losing funds by not extracting or using the signature before its timelock expires. The other party has no risk since his own signature won't be exposed by just not using the signature he received.
The protocol must meet all those requirements, allowing for some kind of role negotiation and while trying to reduce the necessary hops needed to complete the swap.
Swap Proposal Event (kind:455)
This event enables a proposer and his counterparty to agree on the specific messages whose signatures they intend to exchange. The
content
field is the following stringified JSON:{ "give": <signature spec (required)>, "take": <signature spec (required)>, "exp": <expiration timestamp (optional)>, "role": "<adaptor | nonce (optional)>", "description": "<Info about the proposal (optional)>", "nonce": "<Signature public nonce (optional)>", "enc_s": "<Encrypted signature scalar (optional)>" }
The field
role
indicates what the proposer will provide during the swap, either the nonce or the adaptor. When this optional field is not provided, the counterparty may decide whether he will send a nonce back in a Swap Nonce event or a Swap Adaptor event using thenonce
(optionally) provided by in the Swap Proposal in order to avoid one hop of interaction.The
enc_s
field may be used to store the encrypted scalar of the signature associated with thenonce
, since this information is necessary later when completing the adaptor signature received from the other party.A
signature spec
specifies thetype
and all necessary information for producing and verifying a given signature. In the case of signatures for Nostr events, it contain a template with all the fields, exceptpubkey
,id
andsig
:{ "type": "nostr", "template": { "kind": "<kind>" "content": "<content>" "tags": [ … ], "created_at": "<created_at>" } }
In the case of Cashu payments, a simplified
signature spec
just needs to specify the payment amount and an array of mints trusted by the proposer:{ "type": "cashu", "amount": "<amount>", "mint": ["<acceptable mint_url>", …] }
This works when the payer provides the adaptor signature, but it still needs to be extended to also work when the payer is the one receiving the adaptor signature. In the later case, the
signature spec
must also include atimelock
and the derived public keysY
of each Cashu Proof, but for now let's just ignore this situation. It should be mentioned that the mint must be trusted by both parties and also support Token state check (NUT-07) for revealing the completed adaptor signature and P2PK spending conditions (NUT-11) for the cryptographic scheme to work.The
tags
are:"p"
, the proposal counterparty's public key (required)"a"
, akind:30455
Swap Listing event or an application specific version of it (optional)
Forget about this Swap Listing event for now, I will get to it later...
Swap Nonce Event (kind:456) - Optional
This is an optional event for the Swap Proposal receiver to provide the public nonce of his signature when the proposal does not include a nonce or when he does not want to provide the adaptor signature due to the downsides previously mentioned. The
content
field is the following stringified JSON:{ "nonce": "<Signature public nonce>", "enc_s": "<Encrypted signature scalar (optional)>" }
And the
tags
must contain:"e"
, akind:455
Swap Proposal Event (required)"p"
, the counterparty's public key (required)
Swap Adaptor Event (kind:457)
The
content
field is the following stringified JSON:{ "adaptors": [ { "sa": "<Adaptor signature scalar>", "R": "<Signer's public nonce (including parity byte)>", "T": "<Adaptor point (including parity byte)>", "Y": "<Cashu proof derived public key (if applicable)>", }, …], "cashu": "<Cashu V4 token (if applicable)>" }
And the
tags
must contain:"e"
, akind:455
Swap Proposal Event (required)"p"
, the counterparty's public key (required)
Discoverability
The Swap Listing event previously mentioned as an optional tag in the Swap Proposal may be used to find an appropriate counterparty for a swap. It allows a user to announce what he wants to accomplish, what his requirements are and what is still open for negotiation.
Swap Listing Event (kind:30455)
The
content
field is the following stringified JSON:{ "description": "<Information about the listing (required)>", "give": <partial signature spec (optional)>, "take": <partial signature spec (optional)>, "examples: [<take signature spec>], // optional "exp": <expiration timestamp (optional)>, "role": "<adaptor | nonce (optional)>" }
The
description
field describes the restrictions on counterparties and signatures the user is willing to accept.A
partial signature spec
is an incompletesignature spec
used in Swap Proposal eventskind:455
where omitting fields signals that they are still open for negotiation.The
examples
field is an array ofsignature specs
the user would be willing totake
.The
tags
are:"d"
, a unique listing id (required)"s"
, the status of the listingdraft | open | closed
(required)"t"
, topics related to this listing (optional)"p"
, public keys to notify about the proposal (optional)
Application Specific Swap Listings
Since Swap Listings are still fairly generic, it is expected that specific use cases define new event kinds based on the generic listing. Those application specific swap listing would be easier to filter by clients and may impose restrictions and add new fields and/or tags. The following are some examples under development:
Sponsored Events
This listing is designed for users looking to promote content on the Nostr network, as well as for those who want to monetize their accounts by sharing curated sponsored content with their existing audiences.
It follows the same format as the generic Swap Listing event, but uses the
kind:30456
instead.The following new tags are included:
"k"
, event kind being sponsored (required)"title"
, campaign title (optional)
It is required that at least one
signature spec
(give
and/ortake
) must have"type": "nostr"
and also contain the following tag["sponsor", "<pubkey>", "<attestation>"]
with the sponsor's public key and his signature over the signature spec without the sponsor tag as his attestation. This last requirement enables clients to disclose and/or filter sponsored events.Asset Swaps
This listing is designed for users looking for counterparties to swap different assets that can be transferred using Schnorr signatures, like any unit of Cashu tokens, Bitcoin or other asset IOUs issued using Taproot.
It follows the same format as the generic Swap Listing event, but uses the
kind:30457
instead.It requires the following additional tags:
"t"
, asset pair to be swapped (e.g."btcusd"
)"t"
, asset being offered (e.g."btc"
)"t"
, accepted payment method (e.g."cashu"
,"taproot"
)
Swap Negotiation
From finding an appropriate Swap Listing to publishing a Swap Proposal, there may be some kind of negotiation between the involved parties, e.g. agreeing on the amount to be paid by one of the parties or the exact content of a Nostr event signed by the other party. There are many ways to accomplish that and clients may implement it as they see fit for their specific goals. Some suggestions are:
- Adding
kind:1111
Comments to the Swap Listing or an existing Swap Proposal - Exchanging tentative Swap Proposals back and forth until an agreement is reached
- Simple exchanges of DMs
- Out of band communication (e.g. Signal)
Work to be done
I've been refining this specification as I develop some proof-of-concept clients to experience its flaws and trade-offs in practice. I left the signature spec for Taproot signatures out of the current document as I still have to experiment with it. I will probably find some important orchestration issues related to dealing with
2-of-2 multisig timelocks
, which also affects Cashu transactions when spent last, that may require further adjustments to what was presented here.The main goal of this article is to find other people interested in this concept and willing to provide valuable feedback before a PR is opened in the NIPs repository for broader discussions.
References
- GM Swap- Nostr client for atomically exchanging GM notes. Live demo available here.
- Sig4Sats Script - A Typescript script demonstrating the swap of a Cashu payment for a signed Nostr event.
- Loudr- Nostr client under development for sponsoring the publication of Nostr events. Live demo available at loudr.me.
- Poelstra, A. (2017). Scriptless Scripts. Blockstream Research. https://github.com/BlockstreamResearch/scriptless-scripts
-
@ b0a838f2:34ed3f19
2025-05-23 18:03:24- Blinko - A personal note tool with AI features. (Source Code)
AGPL-3.0
Docker
- DailyTxT - Encrypted diary Web application to save your personal memories of each day. Includes a search function and encrypted file upload.
MIT
Docker
- Dnote - A simple command line notebook with multi-device sync and web interface. (Source Code)
AGPL-3.0
Go
- Docs - Collaborative note taking, wiki and documentation platform that scales. (Source Code)
MIT
K8S
- draw.io - Diagram software for making flowcharts, process diagrams, org charts, UML, ER and network diagrams. (Source Code)
Apache-2.0
Javascript/Docker
- flatnotes - Database-less note-taking web app that utilises a flat folder of markdown files for storage. (Demo)
MIT
Docker
- HedgeDoc - Realtime collaborative markdown notes on all platforms, formerly known as CodiMD and HackMD CE. (Demo, Source Code)
AGPL-3.0
Docker/Nodejs
- Joplin - Note taking application with markdown editor and encryption support for mobile and desktop platforms. Runs client-side and syncs through a self hosted Nextcloud instance or similar (alternative to Evernote). (Source Code)
MIT
Nodejs
- Livebook - Realtime collaborative notebook app based on Markdown that supports running Elixir code snippets, TeX and Mermaid Diagrams. Easily deployed using Docker or Elixir. (Source Code)
Apache-2.0
Elixir/Docker
- Memos - Knowledge base that works with a SQLite db file. (Demo, Source Code)
MIT
Docker/Go
- minimalist-web-notepad - Minimalist notepad.cc clone. (Demo)
Apache-2.0
PHP
- Note Mark - Minimal web-based Markdown notes app. (Source Code)
AGPL-3.0
Docker
- Oddmuse - Simple wiki engine written in Perl. No database required. (Source Code)
GPL-3.0
Perl
- Overleaf - Web-based collaborative LaTeX editor. (Source Code)
AGPL-3.0
Ruby
- Plainpad - Modern note taking application for the cloud, utilizing the best features of progressive web apps technology. (Demo, Source Code)
GPL-3.0
PHP
- SilverBullet - Note-taking application optimized for people with a hacker mindset. (Demo, Source Code, Clients)
MIT
Docker/Deno
- Standard Notes - Simple and private notes app. Protect your privacy while getting more done. That's Standard Notes. (Demo, Source Code)
GPL-3.0
Ruby
- TriliumNext Notes - Cross-platform hierarchical note taking application with focus on building large personal knowledge bases (fork of Trilium Notes).
AGPL-3.0
Nodejs/Docker/K8S
- Turtl - Totally private personal database and note taking app. (Source Code)
GPL-3.0
CommonLisp
- Writing - Lightweight distraction-free text editor, in the browser (Markdown and LaTeX supported). No lag when writing. (Source Code)
MIT
Javascript
- Blinko - A personal note tool with AI features. (Source Code)
-
@ 45bda953:bc1e518e
2025-05-19 09:17:30Emilien stepped into the space motel's bar. The area was dimly lit and the music was unbearably loud. At least all the tables and sunken lounges each had their own lights and sound dampers. He stepped up to a table and pushed down on the receptor to reduce volume. He could not think with the noise. He looked around for Macy and inconspicuously acquainted himself with the current patrons in the establishment. He pulled his hoody further forward when he noticed the android in a wheel chair. "Not my type of company." He thought to himself. In the centre of the room a couple was having a spectacular time, an empty bottle on the table, they were specimens of myth. The guys muscles were chiselled, with tight fabric clinging to his body specifically to display every contour of his physique. His female counterpart wore loose material with translucent green tattoo's running up her body like pin stripes shining through the thin cloth hinting at a perfectly balanced pose and feminine silhouette underneath. Emilien swiped on the tables interface to call for the proprietor. He folded his arms and leaned onto the table tilting his head down slightly to keep shadow on his face. Macy entered the room through the kitchen swivel door. She was holding an empty tray and a serviette draped over her arm. She walked straight over to Emilien's table. "Good rotation sir. Welcome to Macy's. Are you a regular customer or is it your first visit to my fine establishment?" She seemed concerned and worried. The corners of Emiliens lips curved up a little. Keeping his head down teasingly. "Sir? Do we have an existing open channel?" He ignored her. "Sir, If you don't have liquidity I have no services to offer that you cannot get off your own ship." Emilien looked up with a gleam in his eye. Macie's posture relaxed with a sigh of relief. "Emile, you fuck. You freaked me out." "I'm sorry, I could not help myself." He waved a halfhearted greeting, slightly laughing. "You know I have some new rules around for you nano augmented types." His aversion to the word rules was evident only to himself. "Like what?" Macy felt apologetically obliged to explain the nature of her circumstances. "I had diplomats from the outer void regions come for a private meeting. Financial in nature. A spacer customer arrived blocks before them, I did not suspect him of anything criminal." She put the tray down and gripped the table with both hands shifting her weight. "His routine for meals were already established, he managed to spy on them through my privacy protocols and hacked their clients. He participated as a ghost during most of their stay and dealings." Emilien whistled. "That's rough, how did you handle it." "I did not do anything." Her dreads shook as she moved her head in animated frustration. "No one knew until they all had been gone for blocks. My reputation took a serious knock. They made a claim against me, I was accused of being complicit. Emilien glanced back over his shoulder when he noticed the android cart himself around his table. "Warren helped me and found all the dirty code and sequestered it. We have all the data and footage, it proves beyond a doubt that I was not involved. Thank god for the core otherwise my whole station might have been destroyed by now." Emile gave a sly look. "How do you know it was not me who stole the data?" She locked eyes with him. "You still have the same face as before bro and I know you won't fuck with me. I'll force close our channel." She joked with serious tone nudging him with her fist playfully. She was generally perceived as strict and militant because of her Shiv citizenship. Shiv military training and service was compulsory, all respected the Shiv in their traditions, their ways were isolationist and exclusionary in nature. Emilien has seen her use military style jujitsu-boxing to neutralise and boot out unruly customers. The Juel woman noticed the out of character friendly gesture Macy made. The unexpected interaction drew her attention from across the room. "So, what is this rule of yours." Macy seemed reluctant to say. "I'm sorry bud. You'll have to swallow a slipper pill every 576 blocks while you are on this station." His shoulders sagged and could not help but bounce his leg on the rail under the table. "Really?!" "Yes, really. I have to retain my customers trust and neutralising all augmented customers body gadgets was the unanimous way to go." Emilien seemed pissed. "Your customers might not know that I'm augmented. And what if I don't plan on staying that long. I just want to see Warren then I'll be off." Macy shook her head. "Warren is passed out in his ship and will probably wake up with a very bad hangover. He partied with the Jeul pair and their entourage for most of this rotation, you know how he gets." Macy waved her hand towards the couple who seemed to be looking directly at Emilien. He looked straight back at them and swiped the interface's privacy command dropping a vision distortion field around his table. Encapsulating himself and Macy. "I treat everyone the same, no compromise." Emile looked at her in a moment of rumination. "Let's get it over with." Macy removed a container from her moonbag after opening, holding it towards Emilien he took the purple capsule and swallowed it without a drink and opened his mouth wide moving his tongue around to show Macy that he did indeed swallow the prophylactic. "And what about robo-mech boy back there? He cannot eat slipper pills." Emilien sounded annoyed and regretful." Macy gave him a stern look tilting her head in annoyance. "Why do think he's in a wheelchair, you know I can't talk about my customers with my customers? Besides from the obvious." Emilien did not say anything. Macy sighed. "What can I get you sir?" "I'll just have a beer." Macy stepped out through the distortion field and became a messy disfigured indistinguishable form. Emilien pushed the music's volume up and waited for the inevitable. He sensed the actuators in his shoulders, elbows and wrists disable in sequence down his arms. His spines bit rate slowed to a crawl and the lack of connectivity to his neck port was becoming noticeable. His legs went numb instantly. "Now I am nothing more than a pathetic land crawler." He felt weak and vulnerable in his natural form. His mental state bordered on the fringes of stable and paranoid, fearful thoughts threatening to manifest in his mind. He saw a figure approach. He assumed it was his drink. The slender glowing tattooed leg of the Jeul woman pierced the veil. A bright green line that suddenly dims where her skirt begins. She stepped through the curtain with a friendly nonchalant expression. "Mind if make your acquaintance mon ami?" Emilien dropped the barrier and lowered the volume making sure that he was back on visual record of Macy's archive. "Not really, thanks, I'm good." Macy returned to place a cold beer on the table. The interface flashed a price in femto-sat and Emilien tapped his ring on it shifting 11 fSAT from a mini holographic Bob to very happy little Alice. The animation morphed into a small firework display and died. "Back to work now." Emilien grinned at Macy thankfully and took a sip. "Me and my brother we are celebrating our seventh birth block anniversary." He looked around sarcastically. "You chose a display of death above the resorts on Juel to celebrate your seventh birth block?" She stiffened her glittery lips and raised her eyebrows thoughtfully and took a seat without invitation. "It is more of a tour than a celebration, I am Maurelle Giovanni and my brother is called Lionel also Giovanni obviously. He is my twin baby brother." Emilien looked over at the guy who seemed to be occupied playing a mini game on their tables interface. She tilted her head into his line of sight forcing him to look at her. "Who are you?" "None of your concern really." She did not accept the short stated answer. "No one comes alone all the way to a dead end system just to drink a cheap beer. I am guessing you are a treasure hunter, no. Looking for artefacts of the ancient world, yes?" Emilien had assessed her body language and concluded that her whimsical imagination was one he could easily manipulate. He had enough information to realise that he was faced with a spoiled individual whose sole interest in him was simple curiosity, motivated by boredom and she had a fascination of the mysterious. She seemed like prey but his hunting instincts felt dead inside his disarmed body. His respect for and dependence on Macy also inhibited his urge to exploit it. He shifted his attitude and personality slightly, just enough to not be overbearing. "You make very good estimations, you are wrong but not far off. My name is Scott. And yes I am fascinated, not by the planet and it's relics but by the the secrets of these gates." Her eyes gleamed with amusement and intrigue. "You like secrets, huh? You must meet Warren. He knows more than the esteemed professors about the gates and their technology." Emilien nodded in agreement. "You said you are Giovanni. Like the Giovanni?" She seemed excited at the prospect of making a new friend and swiped the interface. "Hold this thought, I am going to get myself another drink you are good? No. Food maybe?" "I am good, no wait, another beer." He tipped the bottle toward her in salutation. She stood up taking his bottle with her to the bar. He looked back and was immediately aware that he did not notice that the android wheel himself out and into the conduit. He would have liked to see which of the two entrances of the tube he used to go to his ship. His feeling sorry for and pitying himself put him in a position where he let slip an opportunity to understand and predict the circumstances of his current tactical situation. Never at ease, always being prepared. He felt spite. The girl returned with a beer and a half full whiskey glass, no ice. She reclaimed her seat looking at him. "I am a direct descendant of the patriarch Maurice Giovanni, one of the four primary key holders of our people. There is nothing special about me really, ten..." Emilien cut her off in gentle tone. "Ten percent of the Juel population are descendants of the four patriarchs." Emilien finished her sentence for her. "You are an interesting man Monsieur Scott. What else do you know about me?" Emilien leaned towards her. Noticing her brother yawning across the room. "I know that you are bourgeois and I know that you receive a cyclical allowance from your great, great... How many generations?" "I am removed 133 generations from my Patriarch. He is a very good, doting grandfather. We all adore him. We are around 750 million siblings you know. Those who are from aristocracy have fewer children than the proles. We are so few so that our wealth is not diluted too much." She smiled reminiscently dragging her finger on the edge of the glass. Her brother seemed to stretch himself out he stood up and walked over. Entering the sound damper he acknowledged Emilien's presence with a curt nod. "Maurelle, I am going to sleep." He said to her. She waved at him dismissively. "Have a good dream frere." He exited the room through the right tubes door which made sense as their ship was more closely attached to it on that side of the circular docking ring. Predictable and honest Emilien thought to himself. Macy popped her head through the kitchens serving window. "Lights out and shutdown in 2 blocks. Just a friendly notice." The couple acknowledged the warning from Macy with raised glass and bottle. Emilien turned his attention back to the lady. "How do you manage to retain wealth in such a large family?" He pretended to be ignorant of the finery and detail of Juel culture. "We have closed loop channels controlled and balanced by the patriarchs. But our money is good as core stone. Anywhere in the outer void. Only recently has dispute arose between my Patriarchs and the Magarrie. They do not accept our Sats anymore since the war started. They only accept bitcoins directly from the core. I was only four cycles old when the war began so I am used to it." Emilien felt a conflicting disturbance, thinking about how his body is only two cycles active but his mind stretches back far beyond this time. Being both older and younger than his partner in discourse. "Helloo? I lost you there for a moment Scott." "What are you thinking about?" Emilien lied to her faking emotion. "I was just thinking about the tremendous loss of life that we are orbiting. The planet embedded with what it's inhabitants assumed would be it's portal to prosperity became the golem of it's demise." He was happy that Maurelle seemed to empathise and mirror his philosophic grief. "Come with me I want to tell you a secret. You like secrets." She stood up taking his hand gently tugging, compelling him to follow her. She led him to the far end of the room. She pulled a small levered switch and the wall folded in on itself to reveal a impressive window flooding sharp light into the whole of the large room as it retracted. They both squinted and lifted their hands to shield their eyes adjusting to the glare of Sol. The scene of destruction appeared even more dramatic and morbid as dark sharply defined shadows clipped with golden edges, evoking a sense of isolation and suffering. "These gates were supposed to be a gift to Earth. A hope of spreading humanity across the stars like the children of Abraham." Emilien smirked. "You believe that nonsense?" She rested her head on his shoulder still holding onto his arm. "Our patriarchs have preserved the mysteries of mankind for millennia. I said that I am going to tell you a secret don't patronise me. I do not believe anything. What I know, it is not faith. It is understanding. Knowledge, a type of knowledge that you cannot quantify with mathematics and chemistry. It is a higher science that is proven by the unmistakable coincidence of fate. It is invisible to those who are ignorant and they who despair, those who have lost all hope are blind to this promise." Emilien felt a strange remorse. "I guess I must be blind then." The lights suddenly shut down and the song stopped dead in it's track, like Macy promised. Overcome by the majesty of the scene Maurelle wiped a tear away fearing that her makeup might get ruined. "Anyone can see. They must just open their eyes voluntarily and be honest with themselves. Their true original selves. Who they were made to be." Emile felt judged and wanted to end this conversation quickly. "I am going back to my ship, you have a good night now." She grabbed tightly at his wrist almost painfully. "You do not want to know my secret?" Emelien was becoming annoyed with her insistence he removed her hand from his arm. "I don't think you know any real useful secrets, sweetheart." He sounded threatening, the real enshrouded unmistakable him breaking through the act. She looked at him unintimidated by his sudden shift in personality. "Oh, so I suppose you know why the Juela are at war for most of our lives?" He sarcastically extended his arms forward palms up in restrained but evidently mocking adoration. "Please enlighten me priestess." "They are fighting over this." She pointed at the epic scene of destruction drifting statically out of view as the stations rotation cut it off at the edge of the window. The shadows chased Sol light away sliding like a retracting blade across the room leaving it dark. Emilien burst out angrily. "They are fighting over satoshis! That is all they ever fight over! What I fight for, Damnit! Sats and the resources to gain more of it! That is the beginning and end of all things! Anyone in the universe with even the slightest lick of self worth works, fights and dies for sat!" Maurelle stared astutely at him unemotionally affected by his outburst. She obviously had experienced this exact reaction before and suddenly Emilien realised that he might be the one being manipulated by a smarter and wiser being than himself. "Are you done my love? Have you made your point or is there some other deeper understanding you wish me to internalise into my ignorant small little world?" She threw at him a spiteful sarcasm of her own. "Do you really think I do not know what it means to be seduced by wealth? Luxury?" She took a step closer to him. "Pleasure?" Emilien felt stupid and disarmed this time adding emotionally disarmed to the defeat of being inept in his own body. "I am not a fool mon cherie. The truly wealthy don't fight for wealth, they fight for power. But the noble and sincere fight a different fight with a different weapon. They use words to fight, ideas to win. They fight to gain trust with words, and they fight to retain it with consistency in their actions. Trust is a currency that makes sat seem like shit in comparison because it is real even though you do not believe what you cannot hold in your hand, like your beloved sat." She pointed at the ring on his finger. "Trust only retains value if you honour your words with your actions. Its value is fragile and can disappear in a moment of weakness like water vapour, cherished as the source of life then gone, poof, evaporated. Like magic. This type of trust if gained and retained correctly, projects you forward into the realm of immortality." Emile felt stung and hurt on a personal level, unsure if she was generalising or targeting his own specific weakness purposely. It confused him and made him feel insecure. "What are they fighting for then?" He asked slightly surrendering to the unexpected superior reasoning. Maurelle appreciated the honesty she identified as sincere. She gently took his hand again and led him back to the large convex window. They stood silently for a block, waiting on the rotation to pull the bright light of Sol back into the room. "They are fighting for the power to do that." She pointed at Earth in all it's terrible glory. "The destruction caused by the gate was a terrible cataclysm outside of humanities collective control. The core and the gates are a mystery to mankind." She looked up at Emilien, relieved to see that he was still taking her seriously. "The Maggarie have discovered a weapon that has the power to destroy a planet. The Juel think they are fighting to free Osteri captives from slavery but the real motif is hidden, our Patriarchs unadmitted fear of being inferior to the Maggarie. Most of the goods we traded with them they have stopped accepting, the Shiv and Osteri still buy our products but the Maggarie have suddenly lost the need for our produce, even raw material in it's basest forms. They are expanding somehow and the balance of interdependence has tilted out of our favor. They have no more need for us and have cast us aside like a filthy rag." She paused in thought. "Their new super weapon is the cause of this conflict monsieur Scott." Emilien shrugged. Feeling relieved at regaining the intellectual high ground he thought he had lost. "I'm sorry Maurelle. I have no data on this weapon. If this was true the forums on my bulletin board would have leaked information about it's existence epochs ago, it's been just over three cycles everyone would have known this by now. It sounds more like Jeul fearmongering or perhaps it is the daydreaming fairy tale of an innocent naive girl who worships old myths and legends of a time dead for thousands of years." He pointed at Earth. She sniffed away a hint of emotion and anger. "Well then, I have nothing more to say to you, Good night monsieur Scott." She pulled away from him pridefully and looked out at the enormous gate embedded like a knife into the earths crust. "You are a swine monsieur Scott, leave me alone with my pearl." Emilien stepped back mockingly bowing slightly. "Good night sweetheart." He walked back to his craft laughing inside himself. "Stupid woman." He muttered, although be it doubtfully.
...
scifi
-
@ 45bda953:bc1e518e
2025-05-19 09:16:17Core Divide - Sol System - Gate 7
Tremors from warp turbulence rumbled a bit excessively to the Stripper's liking. Emilien was occupied in the lavatory, inspecting and pulling at his face, staring intently at it in the vanity mirror. Macy's establishment was a popular place and he had concerns about who he might run into, contemplating whether he should stick some silicone cosmetic pads onto his face, just enough to obfuscate his current identity. Maybe he shouldn't bother because he might die soon anyway. He has grown fond of his current persona and wouldn't mind retaining it a cycle longer at least. Being artificially immortal somehow did not take away the terror of confronting death. He recalled the various deaths he had experienced and could not decide what method of passing through he preferred, imagining the many shells of himself in different states of necrosis all over the greater void. He considered the possibility that he might not even be himself anymore. He felt like he knows himself well enough to be sure but that small fragment of doubt always gnawed at the back of his mind. He stood back from the mirror. "Am I him?" The ship shook again breaking his stare, he looked at the dental lever lying in the basin and committed to the more necessary procedure, placing the edges of his palms on his chin pushing abruptly up and back dislocated his lower jaw leaving it to hang loose on his face. Taking the root lever from the basin and leaning into the mirror he expertly wedged the tool in behind his rearmost left molar and twisted it slightly, dislodging it. Catching the small object with his left hand he pressed it into a recess on a black ring which he tightly twisted onto his right hands index finger. He narrowed his eyes at the skeletal horror on the other side of the frame inspecting the freshly opened hole. He opened the vanity and took a cartridge which was labelled "AdrenoChem" he removed the object within the container and wiggled it into the vacant molar cavity. Drool dripping into the sink in spite of his reflexive swallowing, he gripped his jaw tight and in gentle circular downward motions found the spot and clicked the joints back into relocation. Chattering his teeth together while stretching his neck he decided to procrastinate on the disguise idea. Emilien went back to the cockpit. Sitting down at the helm he pulled up notices and reports on the divide's situation with regards to the cease fire between the two warring factions. "Tch, tch, tch. This blockade is not making things easy." His eyes were scrolling over bullet points of news headlines when his ship dropped out of warp at the designated coordinates. He switched the display on the primary screen to clearview. The scene of a dead planet, cracked open like an enormous fruit with scattered asteroid clusters and rocky debris appeared onscreen. A giant still wreck of a superstructure resembling parts of an anchor and drift gate joined to each other like Siamese twins, sharp flashes emitting from it silently, like a muted storm in the far distance. He slowly tilted his head to it's limit. Nothing looked familiar to him. He took the console, rolled and yawed simultaneously until his point of view made sense. "There we are. You're not there till you know it." Macy's space motel pitched into view like a tiny reflective insect. On a secondary screen he zoomed the display to fit. It was attached to a large tubular docking link reaching away distantly and back to itself like Ourobouros. There were four spacecraft docked around it's circumference, less than he had expected. He only recognised the largest ship, Warren's vessel. It looked like a mess of odd protrusions, parabolic dishes and bent antennae. Very unsightly, especially compared to the Lux Void Yacht docked across from it. Tourists from everywhere frequented this remote region of the great divide for obvious reasons. Primary motivations were curiosity, pilgrimage, seclusion and scientific research in that order. Macy was smart to settle her establishment at this specific site. Emilien checked web connectivity to make sure he was still well outside the data scrambling anomaly. According to legend, after the Viper gate had been released from the Core and travelled the required distance to it's anchor coordinates, it was supposed to propel it's drift gate into the greater void, but something went wrong. It malfunctioned on it's attempt to release and veered off course being pulled into the orbit of the Sol system. No one knows exactly how it happened but it was clear to see that the energy released was spectacular. The root planet and most of humanity perished in a second, those who survived on the dark side of the collision died from starvation and gradual planetary destabilisation. Emilien morbidly recognised the historicity of the treacherous looking voidscape. Pulsing his ship softly forward caused a cut to core connectivity activating a repetitive red warning light which he promptly covered with one of the intact disposable cups that were rolling around his feet. There is no way to turn the annoying emitter off and he usually ignored it with closed eyes or looking away when void jumping. He is never vulnerable to core connection loss unless he comes to this region or when he is purposely trying to disappear. Researchers have concluded that the interference was broadcast from the gates enormous husk's residual power and intermittent energy discharge. He reverse pulsed back out of the disturbance, the dimmed light under the paper cup died. "Astrid?" "Yes?" He carefully uncoiled the cable and leaned forward connecting himself to the command interface and resting his head on his arms. "Save me." A quick upload took place. "You are welcome commander." Emilien did not respond. Just grateful that if something went askew he would at least wake up knowing that the last thing he saw was the monumental vestige of humanities ancient resting place. And all the ship types docked at Macy's. He smiled at the floor.
...
scifi
-
@ 45bda953:bc1e518e
2025-05-19 09:15:47Hithe III
The counsel convened and an area of land had been designated as suitable for an industrial scale landing site of tier III size void vessels. All Kaspian land owners were required to donate workers for the initiative. It was an exciting affair for all involved. With an evergreen tree line to hinder the on and off breeze, tables were assembled and covered with a unique assortment of table cloths. Every lady brought one along and the embroidery on each was the cause of many flattering remarks. The women brought all sorts of food and refreshments, had gazebo's set up and had chairs placed well away from the noise and dust of the demarcated construction site. The men where organising equipment, measuring bedrock depth and organising the labour parties into manageable groups. In spite of all the mothers most dire warnings to stay clear of the areas where active construction would be taking place, the children knew they had free reign to explore and play wherever they wanted. The oxen bellowed incessantly, tethered in long lines before their carts, a slave armed with standard bullwhip, ready to man his post atop each wagon. Albin sat on the ground chewing on a stalk of wheat. Being barely old enough to help the men with their work, he was ordered to do nothing more than spectate. Having received concerned looks from the adults, repeating tropes of how he might get hurt and be in the way. He made peace with his lot. The fact that he was going to see void craft was exciting enough to satiate his curiosity for adventure. He would inadvertently lean back and look up expectantly only to see the clear sky then rock forwards back to his previous position. His only regret was that Seth was not with him to discuss and share in the experience. Seth was old enough to work alongside the other slaves, robbing Albin of good company. He glanced back at the large groups of women and smaller children, his mother stuck out like a sore thumb seeing as she was the only lady wearing pants amongst the variety of her chemise, spring attired peers. Her hair was braided and she had an unopened parasol at hand. No one dared ask why her odd choice in outfit though you knew they thought ill of it by their confused and somewhat unduly patronising looks. Before dawn, when they were still at the manor Albin asked her why she was dressed funny and she said that she would prefer not making a spectacle of herself. He just shrugged and did not think much of it again until just now. It seemed to him that she was the only spectacle around not even having brought a table cloth to adorn her bench like the other woman did. He decided to get something to eat and drink because the texture and taste of the dried stalk had become slightly off-putting making him spit out little bits of grass as he stood up. Cleolia smiled affectionately when she saw her boy approaching and peered over her shaded glasses. He lifted the picnic basket off the ground and put it on the heavy bare wooden table, filled a cup with milk and swallowed it down almost as quickly as he had poured it. "Are they going to be late." He asked his mother. "I'm sure they will arrive soon my dear." She replied while taking a seat in a folding chair. Albin grabbed a handful of pretzels and looked around ponderously as he ingested the snack. The people always enjoyed community gatherings of this sort. Lot's of catching up and gossip happening in a cheerful non insidious way. A type of orderly chaos that brought feelings of peace and tranquillity to the conscious observer. His daydream was broken by a soft but clearly distinct repetitive dong of the distant church tower. His dad and father Ecknard were there using the comms, he assumed they were signalling for something. A long shrill whistling sound caught Albins attention and he began walking towards the furthest groups of men while scanning the area intently. The discernible pitch of Seth's whistle became audible again and Albin honed in on the direction the sound was coming from. He saw his friend standing on an ox cart waving his woven satgat frantically trying to get Albin's attention. As soon as they established eye contact he pointed in a very specific north western direction upwards at the dome of the sky. Albin followed his gaze and for a moment thought his mind is playing a trick on him, but it became apparent that a silhouette of something oddly pale was stuck in the sky with nondescript features. Recalling his studies he managed to identify the craft. It was a Dragon IV Cargo vessel. A Magar craft and supposedly very impressive, the distance did not do it justice, yet the uncanny feeling that X fold more people were floating in a box in the sky than were on the planet made Albin's stomach flip and he felt off balance. He sat down on the ground again to prevent him from stumbling around trying to keep his legs under his body. As soon as the church bell ceased it's tolling a smoke signal was ignited in the clearing beyond the work parties. The yellow smoke billowed up in sharp contrast to the greenery of the fields. III percussive shots thundered through the air like cannon fire causing a sudden change in environmental ambience. Birds were visibly swarming up from trees as far as the eye could see. Albin chose not to remove his sights from the giant void craft. He saw a light in the atmosphere that became distinct as it neared separating into the underbellies of III descending craft. Albin murmered. "The Dragons payload." His excitement grew as did the vessels on their approach. At first a hum growing into a crescendo of weird harmonic roaring as the vessels fought mightily to resist Hithe's above average gravitational pull. All the men tipped their satgats and hard hats to cover their faces, the oxen also faced away. Albin did not want to look away but was forced to turn his head as a powerful gust loaded with projectiles of sand and grass peppered his face sharply. Looking back he saw his mother promptly opening her parasol and pointing it in the direction of the landing, then the real spectacle occurred. All the woman covered their faces only to have their skirts blown up exposing their undergarments, in turn trying to push down their skirts uncovering their faces. The risk of shame weighed against tolerance to pain combined into a beautiful ballet of embroidered cloth being wrapped around trees and condiments strewn around the shaded grove with gazebos escaping the scene followed by children running after them in heated pursuit. Cleolia's pant legs fluttered rapidly around her ankles. As soon as the III vessels turbulence settled she folded her parasol and reassumed her previous position as if nothing of note had transpired. Smiling carefree amongst the distraught group women and children around her. Albin would have laughed at the scene had his eyes not stung so badly. "Mother always knows best." He mumbled to himself as he stood up brushing dust off his undercoat. The opening of the ships cargo bays where announced with a loud hiss of air depressurising. Albin casually sauntered over to get a closer look. The cattle marched up the ramps wagon in tow to park directly alongside the freight. The goods consisted of thousands of long coach bolt like nails as long as fence posts and sturdy modular steel plates stacked on mobile pallets and tied down securely. Albin imagined them to look like giant, shiny metal puzzle pieces. The primitive vehicles and their crews made quick and efficient work of releasing the straps and with the help of overhead cranes hoisted the pallets and their contents into the wagons. Two uniformed men came out from inside the ship and stood watching the men unload their craft. Albin noticed the smartly dressed pilots. "Holy servants of the Empire." He spoke softly under his breath. His desire to meet these champions of the void felt necessary to him. They who travel among the stars much like the stories he always heard about his parents. The men were standing safely apart from the work parties, Albin mustered the courage to approach them. He timidly walked up behind them. "Ahem, Hallo Sir." The pilots looked around surprised. Albin seemed respectful and quaint. "Hey kiddo, you guys have a lovely planet." The pilot replied friendly. "What type of craft are these, sir?" The man gestured towards his vessel in reply. "These? They are standard Type I Droppers. Nothing really special about them." Albin nodded. "Are you from Magar void?" "I am indeed. It is really magnificent but you have something quite spectacular yourselves." Albin did not expect that anything in his little world could impress these well travelled gentlemen. "Like what?" He insisted questioningly. "Like the sol shield. You know the star inhibitor. It's a marvel of our time." The man pointed at Ceb. Albin understood. "Oh yes, my pa put it there so we can all survive here." Both pilots looked at each other surprised. Their demeanour changed and Albin suddenly felt uncomfortable. The man knelt down until he was eye level putting his hand on Albins shoulder clenching it just tight enough to not be painful. "If you are a Domitian heir, then I am an Osteri dancing girl at a Juel gentlemans club." His sarcastic tone cut Albin's pride. "You'd better run along and go play with your friends before I decide to arrest you or report you to the authorities." The other pilot looked away ignoring Albin's confused expression. The man assertively shoved Albin away from him. Albin just barely prevented himself from falling on his rear. Tears welled up in Albin's eyes, he turned and ran away humiliated and angry. But he choked back the tears, choosing to embrace the anger in place of emotional release. He ran away from the construction zone also avoiding the picnic area. He did not want to be around anyone. His erratic and emotional mood would betray his experience if anyone he loved interacted with him. He ran into a shaded area of wood and sat down on a stump to digest and try to reset his state of mind to normalcy. He sat quietly for about III blocks when he heard laughter from beyond the wood. There were a group of boys standing circled around an Osteri boy and girl. The girl was crying. Albin witnessed the interaction. "You are not supposed to be here. Only the working slaves are here today." The boy pleaded with his captor in reply. "I only came to find my sister, we are going back to the village now. Please let us go." "But what was she doing here then? Huh?" Albin walked into the centre of the fray interrupting the entire affair. Standing squarely in front of whom he assumed was the primary instigator. The biggest guy in the bunch. "They are only curious to see the void craft. That is why we all came here today." He explained diplomatically. The big kid sneered. "And who are you to tell me how to treat slaves. You are Magar, you should know better." Another kid piped in. "My mama told me he is Kaspa." The bully looked around surprised. Another boy opined. "Not true, my mom said that his mother was pregnant for 40,000 blocks." And then another kid had to add his understanding to the discussion. "No, no, my pa said that she lost the baby at birth and adopted a slaves child." Albin got overwhelmed with the revelations of rumour and petty gossip surrounding his person. "That does not give you the right to bully them!" Albin pointed to the brother and sister. The big boy smiled a snide retort leaning forward mockingly. "No, but I might have the right to bully you, Osteri bastard child of a slave." Albin felt all natural sense of humanity drain from his being. He turned feigning to leave, balled his fist and swung, socket-ting the unprepared target square on the throat. He fell on his back and the angst of restricted breath became evident first to himself and then to all watching. Albin turned to the siblings. "You can go." The pair hurriedly left and none of the boys even hinted at preventing them. Albin looked at all the others dead in the eye each in turn. Then he left walking the long distance towards his mother. He was thirsty and his hand smarted a little, but he felt much better.
...
scifi
-
@ b0a838f2:34ed3f19
2025-05-23 18:03:05- Actual - Local-first personal finance tool based on zero-sum budgeting, supporting synchronization across devices, custom rules, manual transaction importing (from QIF, OFX, and QFX files), and optional automatic synchronization with many banks. (Source Code)
MIT
Nodejs/Docker
- Bigcapital - Financial accounting and inventory management software for small to medium businesses. (Source Code)
AGPL-3.0
Docker
- Bitcart - Cryptocurrencies payment processor and development platform. (Demo, Source Code)
MIT
Docker/Python/Nodejs
- BTCPay Server - Bitcoin and other cryptocurrencies payment processor. (Demo, Source Code)
MIT
C#
- DePay - Accept Web3 Payments directly into your wallet. Peer-to-peer, free, self-hosted & open-source. (Demo, Source Code)
MIT
Nodejs
- ExpenseOwl - Extremely simple expense tracker with a beautiful UI.
MIT
Go/Docker/K8S
- ezbookkeeping - A lightweight personal bookkeeping app hosted by yourself. (Demo, Source Code)
MIT
Go/Docker
- Family Accounting Tool - Web-based finance management tool for partners with partially shared expenses.
Apache-2.0
Scala
- Fava - Web frontend of Beancount, a text based double-entry accounting system. (Demo, Source Code)
MIT
Python
- Firefly III - Firefly III is a modern financial manager. It helps you to keep track of your money and make budget forecasts. It supports credit cards, has an advanced rule engine and can import data from many banks. (Demo, Source Code)
AGPL-3.0
PHP/Docker
- FOSSBilling - Hosting and billing automation. Integrates with WHM, CWP, cPanel and HestiaCP. Full API and easily extensible. (Demo, Source Code)
Apache-2.0
PHP/Docker
- Galette - Membership management web application aimed towards non profit organizations. (Source Code)
GPL-3.0
PHP
- Ghostfolio - Wealth management software to keep track of stocks, ETFs and cryptocurrencies. (Source Code)
AGPL-3.0
Docker/Nodejs
- GRR - Assets management and booking for small/medium companies. (Source Code)
GPL-2.0
PHP
- HyperSwitch
⚠
- Payment switch to make payments fast, reliable and affordable. Connect with multiple payment processors and route traffic effortlessly, all with a single API integration. (Source Code)Apache-2.0
Docker/Rust
- IHateMoney - Manage your shared expenses, easily. (Demo, Source Code)
BSD-3-Clause
Docker/Python
- Invoice Ninja - Powerful tool to invoice clients online. (Demo, Source Code)
AAL
PHP/Docker/K8S
- InvoicePlane - Manage quotes, invoices, payments and customers for your small business. (Source Code)
MIT
PHP
- InvoiceShelf - Track expenses, payments & create professional invoices & estimates (fork of Crater). (Source Code)
AGPL-3.0
PHP/Docker
- Kill Bill - Subscription billing & payments platform. Have access to real-time analytics and financial reports. (Source Code)
Apache-2.0
Java/Docker
- Kresus - Personal finance manager. (Demo, Source Code)
AGPL-3.0
Nodejs/Docker
- Lago - Metering and usage-based billing. (Source Code)
AGPL-3.0
Docker
- Maybe - An OS for your personal finances built by a small team alongside an incredible community. (Source Code)
AGPL-3.0
Docker
- Mybucks.online - Secure, browser-based, password-only self-custodial cryptocurrency wallet. (Demo, Source Code)
MIT
Nodejs
- MyFin Budget - Personal finances platform (web + REST API + Android) that'll help you budget, keep track of your income/spending and forecast your financial future. (Demo, Source Code, Clients)
GPL-3.0
Nodejs/Docker
- OctoBot - Cryptocurrency trading bot. (Source Code)
GPL-3.0
Python/Docker
- Ocular - Simplistic and straightforward budgeting app to track your budget across months and years. (Demo, Source Code)
MIT
Docker
- OpenBudgeteer - Budgeting app based on the Bucket Budgeting Principle.
AGPL-3.0
Docker/C#
- Receipt Wrangler
⚠
- Easy-to-use receipt manager, powered by AI. Allows users to create receipts effortlessly and quickly, categorize and more. (Demo, Source Code)AGPL-3.0
Docker
- REI3 - Open source, expandable Business Management Software. Manage tasks, time, assets and much more. (Demo, Source Code)
MIT
Go
- SHKeeper - Cryptocurrency payment processor with the unique combination of gateway and merchant allowing you to accept payments in multiple cryptocurrencies without fees and intermediaries. (Demo, Source Code)
GPL-3.0
Python
- SolidInvoice - Open source invoicing and quote application. (Source Code)
MIT
PHP
- VoucherVault - Store and manage vouchers, coupons, loyalty and gift cards digitally. Supports expiry notifications, transaction histories, file uploads and OIDC SSO.
GPL-3.0
Docker
- Wallos - Lightweight personal subscription tracker with statistics and optional notifications. (Demo, Source Code)
GPL-3.0
PHP/Docker
- WYGIWYH - Simple and powerful finance tracker. (Demo)
AGPL-3.0
Docker/Django
- YAFFA - Personal finance web application, that can be used to keep track of your money, expenses, budgets, and investments. It also helps with long-term financial planning. (Demo, Source Code)
MIT
PHP
- Actual - Local-first personal finance tool based on zero-sum budgeting, supporting synchronization across devices, custom rules, manual transaction importing (from QIF, OFX, and QFX files), and optional automatic synchronization with many banks. (Source Code)
-
@ 3b3a42d3:d192e325
2025-04-10 08:51:15Atomic Signature Swaps (ASS) over Nostr is a protocol for atomically exchanging Schnorr signatures using Nostr events for orchestration. This new primitive enables multiple interesting applications like:
- Getting paid to publish specific Nostr events
- Issuing automatic payment receipts
- Contract signing in exchange for payment
- P2P asset exchanges
- Payment in exchange for Nostr-based credentials or access tokens
- Exchanging GMs 🌞
It only requires that (i) the involved signatures be Schnorr signatures using the secp256k1 curve and that (ii) at least one of those signatures be accessible to both parties. These requirements are naturally met by Nostr events (published to relays), Taproot transactions (published to the mempool and later to the blockchain), and Cashu payments (using mints that support NUT-07, allowing any pair of these signatures to be swapped atomically.
How the Cryptographic Magic Works 🪄
This is a Schnorr signature
(Zₓ, s)
:s = z + H(Zₓ || P || m)⋅k
If you haven't seen it before, don't worry, neither did I until three weeks ago.
The signature scalar s is the the value a signer with private key
k
(and public keyP = k⋅G
) must calculate to prove his commitment over the messagem
given a randomly generated noncez
(Zₓ
is just the x-coordinate of the public pointZ = z⋅G
).H
is a hash function (sha256 with the tag "BIP0340/challenge" when dealing with BIP340),||
just means to concatenate andG
is the generator point of the elliptic curve, used to derive public values from private ones.Now that you understand what this equation means, let's just rename
z = r + t
. We can do that,z
is just a randomly generated number that can be represented as the sum of two other numbers. It also follows thatz⋅G = r⋅G + t⋅G ⇔ Z = R + T
. Putting it all back into the definition of a Schnorr signature we get:s = (r + t) + H((R + T)ₓ || P || m)⋅k
Which is the same as:
s = sₐ + t
wheresₐ = r + H((R + T)ₓ || P || m)⋅k
sₐ
is what we call the adaptor signature scalar) and t is the secret.((R + T)ₓ, sₐ)
is an incomplete signature that just becomes valid by add the secret t to thesₐ
:s = sₐ + t
What is also important for our purposes is that by getting access to the valid signature s, one can also extract t from it by just subtracting
sₐ
:t = s - sₐ
The specific value of
t
depends on our choice of the public pointT
, sinceR
is just a public point derived from a randomly generated noncer
.So how do we choose
T
so that it requires the secret t to be the signature over a specific messagem'
by an specific public keyP'
? (without knowing the value oft
)Let's start with the definition of t as a valid Schnorr signature by P' over m':
t = r' + H(R'ₓ || P' || m')⋅k' ⇔ t⋅G = r'⋅G + H(R'ₓ || P' || m')⋅k'⋅G
That is the same as:
T = R' + H(R'ₓ || P' || m')⋅P'
Notice that in order to calculate the appropriate
T
that requirest
to be an specific signature scalar, we only need to know the public nonceR'
used to generate that signature.In summary: in order to atomically swap Schnorr signatures, one party
P'
must provide a public nonceR'
, while the other partyP
must provide an adaptor signature using that nonce:sₐ = r + H((R + T)ₓ || P || m)⋅k
whereT = R' + H(R'ₓ || P' || m')⋅P'
P'
(the nonce provider) can then add his own signature t to the adaptor signaturesₐ
in order to get a valid signature byP
, i.e.s = sₐ + t
. When he publishes this signature (as a Nostr event, Cashu transaction or Taproot transaction), it becomes accessible toP
that can now extract the signaturet
byP'
and also make use of it.Important considerations
A signature may not be useful at the end of the swap if it unlocks funds that have already been spent, or that are vulnerable to fee bidding wars.
When a swap involves a Taproot UTXO, it must always use a 2-of-2 multisig timelock to avoid those issues.
Cashu tokens do not require this measure when its signature is revealed first, because the mint won't reveal the other signature if they can't be successfully claimed, but they also require a 2-of-2 multisig timelock when its signature is only revealed last (what is unavoidable in cashu for cashu swaps).
For Nostr events, whoever receives the signature first needs to publish it to at least one relay that is accessible by the other party. This is a reasonable expectation in most cases, but may be an issue if the event kind involved is meant to be used privately.
How to Orchestrate the Swap over Nostr?
Before going into the specific event kinds, it is important to recognize what are the requirements they must meet and what are the concerns they must address. There are mainly three requirements:
- Both parties must agree on the messages they are going to sign
- One party must provide a public nonce
- The other party must provide an adaptor signature using that nonce
There is also a fundamental asymmetry in the roles of both parties, resulting in the following significant downsides for the party that generates the adaptor signature:
- NIP-07 and remote signers do not currently support the generation of adaptor signatures, so he must either insert his nsec in the client or use a fork of another signer
- There is an overhead of retrieving the completed signature containing the secret, either from the blockchain, mint endpoint or finding the appropriate relay
- There is risk he may not get his side of the deal if the other party only uses his signature privately, as I have already mentioned
- There is risk of losing funds by not extracting or using the signature before its timelock expires. The other party has no risk since his own signature won't be exposed by just not using the signature he received.
The protocol must meet all those requirements, allowing for some kind of role negotiation and while trying to reduce the necessary hops needed to complete the swap.
Swap Proposal Event (kind:455)
This event enables a proposer and his counterparty to agree on the specific messages whose signatures they intend to exchange. The
content
field is the following stringified JSON:{ "give": <signature spec (required)>, "take": <signature spec (required)>, "exp": <expiration timestamp (optional)>, "role": "<adaptor | nonce (optional)>", "description": "<Info about the proposal (optional)>", "nonce": "<Signature public nonce (optional)>", "enc_s": "<Encrypted signature scalar (optional)>" }
The field
role
indicates what the proposer will provide during the swap, either the nonce or the adaptor. When this optional field is not provided, the counterparty may decide whether he will send a nonce back in a Swap Nonce event or a Swap Adaptor event using thenonce
(optionally) provided by in the Swap Proposal in order to avoid one hop of interaction.The
enc_s
field may be used to store the encrypted scalar of the signature associated with thenonce
, since this information is necessary later when completing the adaptor signature received from the other party.A
signature spec
specifies thetype
and all necessary information for producing and verifying a given signature. In the case of signatures for Nostr events, it contain a template with all the fields, exceptpubkey
,id
andsig
:{ "type": "nostr", "template": { "kind": "<kind>" "content": "<content>" "tags": [ … ], "created_at": "<created_at>" } }
In the case of Cashu payments, a simplified
signature spec
just needs to specify the payment amount and an array of mints trusted by the proposer:{ "type": "cashu", "amount": "<amount>", "mint": ["<acceptable mint_url>", …] }
This works when the payer provides the adaptor signature, but it still needs to be extended to also work when the payer is the one receiving the adaptor signature. In the later case, the
signature spec
must also include atimelock
and the derived public keysY
of each Cashu Proof, but for now let's just ignore this situation. It should be mentioned that the mint must be trusted by both parties and also support Token state check (NUT-07) for revealing the completed adaptor signature and P2PK spending conditions (NUT-11) for the cryptographic scheme to work.The
tags
are:"p"
, the proposal counterparty's public key (required)"a"
, akind:30455
Swap Listing event or an application specific version of it (optional)
Forget about this Swap Listing event for now, I will get to it later...
Swap Nonce Event (kind:456) - Optional
This is an optional event for the Swap Proposal receiver to provide the public nonce of his signature when the proposal does not include a nonce or when he does not want to provide the adaptor signature due to the downsides previously mentioned. The
content
field is the following stringified JSON:{ "nonce": "<Signature public nonce>", "enc_s": "<Encrypted signature scalar (optional)>" }
And the
tags
must contain:"e"
, akind:455
Swap Proposal Event (required)"p"
, the counterparty's public key (required)
Swap Adaptor Event (kind:457)
The
content
field is the following stringified JSON:{ "adaptors": [ { "sa": "<Adaptor signature scalar>", "R": "<Signer's public nonce (including parity byte)>", "T": "<Adaptor point (including parity byte)>", "Y": "<Cashu proof derived public key (if applicable)>", }, …], "cashu": "<Cashu V4 token (if applicable)>" }
And the
tags
must contain:"e"
, akind:455
Swap Proposal Event (required)"p"
, the counterparty's public key (required)
Discoverability
The Swap Listing event previously mentioned as an optional tag in the Swap Proposal may be used to find an appropriate counterparty for a swap. It allows a user to announce what he wants to accomplish, what his requirements are and what is still open for negotiation.
Swap Listing Event (kind:30455)
The
content
field is the following stringified JSON:{ "description": "<Information about the listing (required)>", "give": <partial signature spec (optional)>, "take": <partial signature spec (optional)>, "examples: [<take signature spec>], // optional "exp": <expiration timestamp (optional)>, "role": "<adaptor | nonce (optional)>" }
The
description
field describes the restrictions on counterparties and signatures the user is willing to accept.A
partial signature spec
is an incompletesignature spec
used in Swap Proposal eventskind:455
where omitting fields signals that they are still open for negotiation.The
examples
field is an array ofsignature specs
the user would be willing totake
.The
tags
are:"d"
, a unique listing id (required)"s"
, the status of the listingdraft | open | closed
(required)"t"
, topics related to this listing (optional)"p"
, public keys to notify about the proposal (optional)
Application Specific Swap Listings
Since Swap Listings are still fairly generic, it is expected that specific use cases define new event kinds based on the generic listing. Those application specific swap listing would be easier to filter by clients and may impose restrictions and add new fields and/or tags. The following are some examples under development:
Sponsored Events
This listing is designed for users looking to promote content on the Nostr network, as well as for those who want to monetize their accounts by sharing curated sponsored content with their existing audiences.
It follows the same format as the generic Swap Listing event, but uses the
kind:30456
instead.The following new tags are included:
"k"
, event kind being sponsored (required)"title"
, campaign title (optional)
It is required that at least one
signature spec
(give
and/ortake
) must have"type": "nostr"
and also contain the following tag["sponsor", "<pubkey>", "<attestation>"]
with the sponsor's public key and his signature over the signature spec without the sponsor tag as his attestation. This last requirement enables clients to disclose and/or filter sponsored events.Asset Swaps
This listing is designed for users looking for counterparties to swap different assets that can be transferred using Schnorr signatures, like any unit of Cashu tokens, Bitcoin or other asset IOUs issued using Taproot.
It follows the same format as the generic Swap Listing event, but uses the
kind:30457
instead.It requires the following additional tags:
"t"
, asset pair to be swapped (e.g."btcusd"
)"t"
, asset being offered (e.g."btc"
)"t"
, accepted payment method (e.g."cashu"
,"taproot"
)
Swap Negotiation
From finding an appropriate Swap Listing to publishing a Swap Proposal, there may be some kind of negotiation between the involved parties, e.g. agreeing on the amount to be paid by one of the parties or the exact content of a Nostr event signed by the other party. There are many ways to accomplish that and clients may implement it as they see fit for their specific goals. Some suggestions are:
- Adding
kind:1111
Comments to the Swap Listing or an existing Swap Proposal - Exchanging tentative Swap Proposals back and forth until an agreement is reached
- Simple exchanges of DMs
- Out of band communication (e.g. Signal)
Work to be done
I've been refining this specification as I develop some proof-of-concept clients to experience its flaws and trade-offs in practice. I left the signature spec for Taproot signatures out of the current document as I still have to experiment with it. I will probably find some important orchestration issues related to dealing with
2-of-2 multisig timelocks
, which also affects Cashu transactions when spent last, that may require further adjustments to what was presented here.The main goal of this article is to find other people interested in this concept and willing to provide valuable feedback before a PR is opened in the NIPs repository for broader discussions.
References
- GM Swap- Nostr client for atomically exchanging GM notes. Live demo available here.
- Sig4Sats Script - A Typescript script demonstrating the swap of a Cashu payment for a signed Nostr event.
- Loudr- Nostr client under development for sponsoring the publication of Nostr events. Live demo available at loudr.me.
- Poelstra, A. (2017). Scriptless Scripts. Blockstream Research. https://github.com/BlockstreamResearch/scriptless-scripts
-
@ b0a838f2:34ed3f19
2025-05-23 18:02:49- 2FAuth - Manage your Two-Factor Authentication (2FA) accounts and generate their security codes. (Demo)
AGPL-3.0
PHP/Docker
- AlertHub
⚠
- Get alerts from GitHub releases.MIT
Nodejs/Docker
- Anchr - Toolbox for tiny tasks on the internet, including bookmark collections, URL shortening and (encrypted) image uploads. (Source Code)
GPL-3.0
Nodejs
- asciinema - Web app for hosting asciicasts. (Demo, Source Code)
Apache-2.0
Elixir/Docker
- Baby Buddy - Helps caregivers track baby sleep, feedings, diaper changes, and tummy time. (Demo)
BSD-2-Clause
Python
- beelzebub
⚠
- Honeypot framework designed to provide a highly secure environment for detecting and analyzing cyber attacks. (Source Code)MIT
Docker/K8S/Go
- ClipCascade - Syncs your clipboard across multiple devices instantly, without any button press. Available on Windows, macOS, Linux, and Android, it provides seamless and secure clipboard sharing with end-to-end data encryption.
GPL-3.0
Java/Docker
- Cloudlog - Log your amateur radio contacts anywhere. (Source Code)
MIT
PHP/Docker
- ConvertX - Online file converter which supports over a thousand different formats.
AGPL-3.0
Docker
- CUPS - The Common Unix Print System uses Internet Printing Protocol (IPP) to support printing to local and network printers. (Source Code)
GPL-2.0
C
- CyberChef - Perform all manner of operations within a web browser such as AES, DES and Blowfish encryption and decryption, creating hexdumps, calculating hashes, and much more. (Demo)
Apache-2.0
Javascript
- Digiboard - Create collaborative whiteboards (documentation in French). (Source Code)
AGPL-3.0
Nodejs
- Digicard - Create simple graphic compositions (documentation in French). (Demo)
AGPL-3.0
Nodejs
- Digicut - Cut audio and video files using FFMPEG.wasm (documentation in French). (Source Code)
AGPL-3.0
Nodejs
- Digiface - Create avatars using the Avataaars library (documentation in French). (Demo, Source Code)
AGPL-3.0
Nodejs
- Digiflashcards - An online application to create flashcards (documentation in French). (Source Code)
AGPL-3.0
Nodejs/PHP
- Digimerge - Assemble audio and video files directly in your browser (documentation in French). (Demo, Source Code)
AGPL-3.0
Nodejs
- Digiquiz - An online application to publish content created with H5P (documentation in French). (Source Code)
AGPL-3.0
Nodejs
- Digiread
⚠
- Clean up online pages and articles using Mozilla's Readability (documentation in French). (Source Code)AGPL-3.0
Nodejs/PHP
- Digisteps - A simple application for creating online educational paths (documentation in French). (Source Code)
AGPL-3.0
Nodejs/PHP
- Digitranscode - Convert audio files and videos directly in the browser (documentation in French). (Demo, Source Code)
AGPL-3.0
Nodejs
- Digiview
⚠
- View YouTube videos in a distraction-free interface (documentation in French). (Demo, Source Code)AGPL-3.0
Nodejs/PHP
- Digiwords - A simple online application for creating word clouds (documentation in French). (Source Code)
AGPL-3.0
Nodejs/PHP
- DOCAT - Host your docs. Simple. Versioned. Fancy.
MIT
Python/Docker
- DOMJudge - System for running a programming contest, like the ICPC regional and world championship programming contests. (Demo, Source Code)
GPL-2.0/BSD-3-Clause/MIT
PHP
- ESMira - Run longitudinal studies (ESM, AA, EMA) with data collection and communication with participants being completely anonymous. (Demo, Source Code)
AGPL-3.0
PHP
- F-Droid - Server tools for maintaining an F-Droid repository system. (Source Code)
AGPL-3.0
Python/Docker/deb
- Flyimg - Resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick, with an efficient caching system. (Demo, Source Code)
MIT
Docker
- Geeftlist - Collaborative platform for managing, sharing and reserving gifts between friends and family.
GPL-3.0
Docker
- google-webfonts-helper
⚠
- Hassle-Free Way to Self-Host Google Fonts. Get eot, ttf, svg, woff and woff2 files + CSS snippets. (Demo)MIT
Nodejs
- Gophish - Powerful phishing framework that makes it easy to test your organization's exposure to phishing. (Source Code)
MIT
Go/Docker
- graph-vl - Identity document verification using Machine Learning and GraphQL.
MIT
Python/Docker/K8S
- Habitica - Habit tracker app which treats your goals like a Role Playing Game. (Source Code)
GPL-3.0/CC-BY-SA-3.0
Nodejs/Docker
- HortusFox - Collaborative plant management and tracking system for plant enthusiasts. (Source Code)
MIT
PHP/Docker
- iSponsorBlockTV
⚠
- Block and skip sponsors, while also muting and skipping ads on YouTube.GPL-3.0
Docker/Python
- Jelu - Read and to-read list book tracker. (Source Code)
MIT
Java/Docker
- Kasm Workspaces - Streaming containerized apps and desktops to end-users. Examples include Ubuntu in your browser, or simply single apps such as Chrome, OpenOffice, Gimp, Filezilla etc. (Demo, Source Code)
GPL-3.0
Docker
- Koillection - Koillection is a service allowing users to manage any kind of collections. (Source Code)
MIT
Docker/PHP
- LanguageTool - Proofread more than 20 languages. It finds many errors that a simple spell checker cannot detect. (Source Code, Clients)
LGPL-2.1
Java/Docker
- Libre Translate - Machine Translation API. (Source Code)
AGPL-3.0
Docker/Python
- LubeLogger - Web-based vehicle maintenance and fuel mileage tracker. (Demo, Source Code)
MIT
Docker/K8S/C#
- mosparo - The modern spam protection tool. It replaces other captcha methods with a simple and easy to use spam protection solution. (Source Code)
MIT
PHP
- MyIP
⚠
- All in one IP Toolbox. Easy to check what's your IPs, IP geolocation, check for DNS leaks, examine WebRTC connections, speed test, ping test, MTR test, check website availability and more. (Demo, Source Code)MIT
Nodejs/Docker
- MySpeed - Speed test analysis software that shows your internet speed for up to 30 days. (Source Code)
MIT
Docker/Nodejs
- Neko - Virtual browser that runs in docker and uses WebRTC. (Source Code)
Apache-2.0
Docker/Go
- Open-Meteo - Weather API with open-data forecasts, historical and climate data from all major national weather services. (Demo, Source Code)
AGPL-3.0
Docker
- OpenZiti - Fully-featured, zero trust, full mesh overlay network. Includes a 2FA support out of the box, clients for all major desktop/mobile OS'es. (Source Code)
Apache-2.0
Go
- penpot - Web-based design and prototyping platform meant for cross-domain teams. (Source Code)
MPL-2.0
Docker
- POMjs - Random password generator. (Source Code)
GPL-2.0
Javascript
- Reactive Resume - A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. (Demo, Source Code)
MIT
Docker/Nodejs
- revealjs - Framework for easily creating beautiful presentations using HTML. (Demo, Source Code)
MIT
Javascript
- Revive Adserver - World's most popular free, open source ad serving system. Formerly known as OpenX Adserver and phpAdsNew. (Source Code)
GPL-2.0
PHP
- SANE Network Scanning - Allow remote clients to access image acquisition devices (scanners) available on the local host. (Source Code)
GPL-2.0
C
- Speed Test by OpenSpeedTest™ - Free & Open-Source HTML5 Network Performance Estimation Tool. (Source Code)
MIT
Docker
- Speedtest Tracker - Monitor the performance and uptime of your internet connection. (Source Code)
MIT
Docker/K8S
- string.is - An open-source, privacy-friendly online string toolkit for developers. (Source Code)
AGPL-3.0
Nodejs
- Teleport - Certificate authority and access plane for SSH, Kubernetes, web applications, and databases. (Source Code)
Apache-2.0
Go/Docker/K8S
- TeslaMate - A powerful data logger for Tesla vehicles.
MIT
Elixir/Docker
- Upsnap - A simple Wake on LAN (WOL) dashboard app. Wake up devices on your network and see current status.
MIT
Go/Docker
- URL-to-PNG - URL to PNG utility featuring parallel rendering using Playwright for screenshots and with storage caching via Local, S3, or CouchDB.
MIT
Nodejs/Docker
- Wakupator - Wake On LAN Machine Manager based on network traffic.
MIT
C
- Wavelog - Webbased Logging Software for Radio Amateurs. Enhanced QSO logging, statistics and maps for your browser. (Demo, Source Code)
MIT
PHP/Docker
- WeeWX - Open source software for your weather station. (Demo, Source Code)
GPL-3.0
Python/deb
- WeTTY - Terminal in browser over http/https. (Source Code)
MIT
Docker/Nodejs
- Yamtrack
⚠
- Media tracker for movies, tv shows, anime, manga, video games and books. (Demo)AGPL-3.0
Docker/Python
- 2FAuth - Manage your Two-Factor Authentication (2FA) accounts and generate their security codes. (Demo)
-
@ 45bda953:bc1e518e
2025-05-19 09:15:17Emilien was hanging face down inside an enclosure of thick egg shaped glass attached to a mechanised vehicle. Kevlar webbing hugged him tightly into a bucket seat. Long hydraulic arms being manipulated intuitively by a console in his hands and a module interface plugged into his cybernetic neck socket. The bulky animated machine clung like some Lovecraftian spider to the outer hull of his space station. Some cycle’s previously he did data security updates and backtesting for a deep space mining company's security protocols. After seeing their utility, enquired if he could purchase one as partial payment for his contract. Unfortunately they had none for sale but were willing to give him a retired malfunctioning unit gratis. He purchased a maintenance manual on the void web and had connections who helped him source some replacements for the faulty parts. Since then the machine enabled him to be functionally productive in the void, giving him the degrees of freedom and fine motor skills necessary to perform upkeep on stationary deep void assets. The glass of the egg auto dimmed as he laser welded tightly slotted panels together on the previously damaged space station. “How do you feel?” He asked. Abruptly breaking hours of silence. “I’ve been playing around. My capacitance recharge responds well to dump loads, turret retraction gears all functional again. I feel good.” Astrid responded. “Nice. Slowly pressurise the holding chamber for me.” “In progress.” The spider crawled several meters out of the way to safety. Emilien's eyes scanning up and down for leaks. “Slowly babe.” Some minutes passed. “Fully pressurized and stable.” The mechs giant front arms extending, lifted as it stood up on its four hind legs throwing an arachnid shadow across the hull. Emilien flung his arms down crashing a violent concussive blow to the hull in a thunderous clang. The arms retracted. “Still good?” His demeanour remained unchanged. There was a pause. “All good.” Astrid replied. Emilien smiled, Astrid was the best and his feelings of endearment were genuine. “Can we power up the chamber through a fused circuit.” He sensed a soft hum throughout emanating from deep below. “Is the body stable?” “The body is stable. Cryogenic chamber battery backup is at forty three percent. Charge reapplied. Potential of clone spoilage averted. Well done commander.” He could up the ante of risks knowing that his reserve life was secured. “What’s next on the agenda?” “Firstly, signal quality from the drift gate is poor and I am losing connection to the web intermittently.” Emilien nodded. “The gate’s been moving further away. It’s a line of sight problem. I’ll place a relay outside the asteroid belt.” “Secondly, we should see if the husk on the explorer vessel has intact data or a black box. Someone might be looking for them.” He heaved back and vaulted himself off the station in the direction of the wreck micro thrusting for minor trajectory adjustments, with an elegant crash he finally perched on the ship, it gained an almost imperceptible drift as it absorbed the weight of Emilien’s mass, pushing debris along with it. His size would not allow him to move through the standard doors and passages so he opted to disassemble, cut and break apart the hull adjoining the bridge. When he had broken open a space of sufficient size to manoeuvre through, he powered the backlights on, he first peeked inside to familiarise himself with the layout. The egg suspended itself in front of the opening. It was a standard enough bridge doubling as an unorthodox crypt. There were three sets of boots, overalls and coagulated blood all jammed into the slit of the semi sealed door leaving the bridge. An assortment of rubbish floating around casting doubled up shadows larger than themselves. Emilien looked at the mess with sullen eyes. “Shit heads.” He mumbled to himself. All the seats had their safety belts buckled correctly . He concluded that what they experienced must have sucked pretty bad. His mechanical exoskeleton slithered and gripped like an octopus as he entered and positioned himself before the primary interface. His vehicle plugged itself into the command terminal, measuring resistance for shorts before powering it up from his suit. “Can you pull the data and dump it somewhere safe?” “No problem, please wait.” He closed his eyes as he usually did when doing the mundane. Astrid spoke. “They are Osteri. No one will be looking for them any time soon.” “Howcome?” “Recently a blockade has been established at the Lion gate. Magar Capital Vessels are not allowing unvetted ships to pass through into Magar void.” A sense of concern crept over Emilien. “What is considered unvetted?” “Sanctions and trade embargo’s against the Juel.” “Is there a log somewhere you can access with records of flights that do get permission.” He suddenly felt a pang of claustrophobia. Ironically, not because he was strapped down in a glass egg within a wasted bridge plastered with corpse splatterings. Astrid took longer than usual to reply. “Who get’s through babe?” His tone hinted of impatience and irritation. “I’m sorry, unable to access any data from Magar void. It appears to have a firewall blocking all two way communication on the open web.” Emilien remained silent. The upload completed. He disconnected himself from the husks terminal, clambering out of the tomb and pushed himself away from the vessel drifting back to the space station.
Astrid was pulling and scanning various shipping logs when Emilien entered the room. He paced up and down the way he would when he was brainstorming. “I need intel.” Astrid projected a holographic avatar of herself standing near where Emilien was pacing. “A large shipment of Kaspian Bochet passed through less 428 blocks. Transported by the Shiv Inter-void Mercantile Co.” Emilien stopped in his tracks and looked back.\ “Can you ping Warren?” Astrid processed. “Warren is offline. He might have left the divide?” Emilien turned around with his hands folded behind his back.\ “He never leaves the divide, he is too obsessed with the core. He would also be arrested if he is ever caught in any of the outer void territories.” Astrid flickered the way she did when something did not compute. “Then why can’t I ping him?” “Because he’s at Macy’s. He has always had a crush on her and he likes good Bochet.” "Well, I could'nt ping Macy if I wanted to." Astrid stated matter of factly. Emilien nodded. "I know, you never could, no one can."
...
scifi
-
@ 45bda953:bc1e518e
2025-05-19 09:14:12Morning light shone beautifully through the arched rose stained glass of the modest cathedral. From the east Ceb rays permeated inside of the stony structure with splendour. A priest standing elevated over the crowd by a forward leaning pulpit, like a comical figurehead on the bow of a ship. Almost precariously, as if it should not be able to suspend him, though no one doubts that it would. Ecknard has never seen the church so full. The devotion of the colony has been growing but he did not expect a turnout of this scope. He swelled with pride and blinked away the moist warning sign of tears. People were even gathering around the outside of the building for a lack of benches to accommodate all the derriere's. Everyone was silent in pious reverence of the holy day. This day would initiate the MD epoch. Domitius, Cleolia and Albin were sitting in the front pew. Albin, dressed in respectable although a slightly uncomfortable suit could not help but shift in his seat, awkwardly feeling as if he were disturbing everyone around him. Ecknard motioned with outstretched arms to alert all that he is about to address the congregation. The silence was so disciplined that you could hear the flap of his sleeves and a small bird chirping away on the stone windowsill outside, merrily indifferent to the solemnity of air the building exuded. “Kaspian brethren, esteemed Magar, today is a most holy and greatly anticipated occurrence! Before we initiate festivities I wish to expound, primarily to the benefit of the younger people in our company, the history of our colony and to express thanks. Ahem... It has been III cycles now since our colony had been established! Our endeavours have been blessed with great bounty, we have expanded independently in isolation! We, who are old enough to remember, were discharged, from the Primary Omega Expansion Vessel with only the implements of labour, livestock, seed, steely resolve and courage in our hearts. We asserted ourselves and rose to a daunting challenge, A party of MCCC slaves and free men to tame a wild land, adapt to a star with a volatile proclivity and a planet with different rotational patterns from what we were accustomed!” A slight excitement erupted from the crowd but Ecknard muted it quickly with outstretched arm. "Our esteemed visionary and great leader prepared a way for us, long before any of you even considered the freedom and opportunity, a chance to build something and own it!” The priest’s voice ascended powerfully out over the people. “He had a dream, an idea, a grand scheme to expand the Empire!” Ecknard motioned down to Domitius. The crowd erupted in cheer chanting, the older Kaspian men softly beating their chests with their fists. “Domitius! Domitius!” The lord’s composure remained unchanged, as if he were alone in private devotion. Cleolia blushed slightly and tilted her head using her hat to protect her from the incessant adoration. Albin could not contain his own excitement and stood up on his seat in the pew to get a better view of the standing ovation, absorbing the glory directed towards his father.” The priest waited for the people to exhaust themselves until there was only an isolated call before continuing his monologue. “A student of the void, a sage of stars, a scientist of renown! Scoffed and ridiculed by his peers! They laughed and jested when he proposed his innovations. They published warnings and mockery of his ambition proclaiming to all that they would be proved fools if they are seduced by his unrealistic promise. Their jealousy moved them to lobby the high council to convince them, and convince them, they did. By ratio of VIII to II refused to grant him licence!” Ecknard leaned forward over the pulpit with a fierce look of disgust in his jowl. “A council on which he holds a seat to this day... He was denied the opportunity to improve the lives of future generations and untold millions by his own house! His desire to see his dream realised pushed him to do what no Magar noble ever has or would ever dare much less someone born of sacred blood!” Ecknard gripped at his robe as if to curtsy or show fear, no one understood the gesture. “He ventured outside the confines and protection of Magar Prime void. He brought his technological treasure to us! We Kaspa were undeserving of the honour! The Kaspian elders endorsed him granting freedom to continue his research and install his technology. A true Magar with holy blood in his veins travelling betwixt our stars!" He looked up and pointed at the arches as if he could see the stars through the stone and daylight. "Brethren, allow me to express the distinction of this achievement. Habitable planets are as rare as sat. Inhabitable planets are so rare, wars were fought at the mere rumour or hope of their discovery. With his star shields he was able to block the solar winds in systems that were inhospitable to travel through and not a single inhabitable planet to be found. With time and stimulus unnatural landscapes of horror and perdition were transformed into paradise. Our esteemed Lord Domitius with his lovely wife spent III cycles inhibiting stars and seeding planets with life. The Kaspian Academy of Sciences had a revival and all the concerted efforts of our people were united in spirit when we witnessed the first sun shields confine their chosen stars..." His tone became soft and morose. "We are truly blessed to have tamed XIV stars within our own void region. Kaspa is quickly becoming the most dense concentration of occupied habitats in the known universe. The family Chevalier conquered Ceb the most volatile star in the Kaspian void. And to inspire confidence in the stability of the star shield he settled under it’s umbrella to live through it’s success or die by it’s failure.” He paused for sincere dramatic effect. “The Seat of the Empire has since changed it’s opinion, humiliated and shamed are they who doubted... All glory to the Core.” “All glory to the core.” The mass repeated in unison. “Today we approach block CCCXV million since Genesis. The Epoch MD. One thousand five hundred epochs in the scientific metric tongue. The known universe is united in celebration, a ceasefire has been negotiated by Empire and the Juela Federation. Both are bound by the accords. No war may be fought. CCLXII million blocks have transpired since Exodus, when the almighty Core made Mother Terra desolate with the fires of it’s Judgement. Punishing mankind for it’s greed and vice. We thank the Core that it extends it’s reach to the outer void by way of the drift gates, unites mankind across the great divide by way of the XII anchor gates and that it continues to be merciful, guide and bless us. All glory to the Core. Amen.”
...
scifi
-
@ 266815e0:6cd408a5
2025-04-08 07:19:53Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
@ 45bda953:bc1e518e
2025-05-19 09:04:02A knock on the door awoke Cleolia. “Yes, come in?” A slave girl peeked into the door lighting her own face with the candle she was holding. “The master calls for you madam.” “What time is it?” She queried. “It is high night madam.” Cleolia climbed out of bed and followed the maiden’s flickering light to the dining hall. Dressed in a nightgown she entered the room to see her husband staring down at a large glowing data pad. “And when did we start using electronics?” She questioned with restrained surprise. “Since we started using extractors.” Cleolia gasped. Domitius pointed towards the pad which displayed a geographic map of Hithe III. He pulled the image to the latitude and longitude of the colony. “Do you remember when we visited this planet the first time, just you and me alone?” Domitius appeared to reminisce romantically. “Of course, it is impossible to forget.” Cleolia gestured appreciatively. “Can you show me on the map where we landed and where we camped?” She put her hand on the data pad, swiped the image down and the reading north about three hundred kilometres from the colony to stop at the meandering river. With her thumb and index finger she zoomed to the precise location. “And do you remember where I scanned those Geo samples?” She pulled the image east slowly until she thought that the contours looked familiar. “Here I think.” Was her uncertain reply. “That is correct. My love, listen to me... “the urgency in his tone was apparent.” ...the composition of that rock cannot be penetrated by standard tier scanners. After we had returned to Magar Prime I contracted a spacer to excavate a tunnel into that cliff.” “Why?” Her eyes darted between his face and the data pad. “Inside the cavern he assembled two Asp shuttles. The twins are each fitted for speed... with shields, cloak and warp function.” “Why are you telling me this?” Cleolia became worried. “I originally planned to be able to evacuate the whole colony, slaves included. We knew very little about the planet and I had to plan for a possible emergency...” He trailed off never finishing his thought. “...Nevertheless, it was a very extensive list of possible risks we might have faced. We knew very little about this planet. The colony has expanded far beyond the capacity of these ships. I share this information with you only as a precaution... We must protect our son.” Cleolia noticed his bloodshot eyes. “Who else knows of this?” “Myself, Father Ecknard and now you.” She looked at him with concern in her eyes. “Are you going to stay up all night? Come to bed.” Domitius gestured agreement by turning off the pad and taking her hand. "Have you been hiding more gadgets from me? I'd really like to install some heat dampeners to cool the manor." He cracked a reluctant smile. "Pretty soon it might just be the norm."
Deep Void - Anchor 9
Emilien was lying sleeping in his cockpit when a yellow light in the HUD and a soft repetitive buzz woke him, he stretched himself out and reached for the console. “I am almost home baby.” He took over from auto pilot and broke out of warp twenty thousand kilometres from an anchor gate. He hit the void scan and tuned to listen for chatter on all frequencies... the channels were silent, not even a hint of encryption static. The giant and slowly spinning gate had idle state radiation emission levels. “No recent jumps.” He waited in silence for 12 blocks hitting void scan intermittently, scanning the gate more than anything else. “No traffic as per usual.” Emilien aimed his Stripper guns towards the gate and boosted himself forwards. Gradually slowing down to realign with the gate. His ship slowly drifted into the active coil as the gate charged up. Large bolts of charge reached forth like tentacles of the leviathan grabbing onto the voidcraft consuming it, and in what can only be described as being flung by a supernatural slingshot, jerked his vessel into a different reality. Emilien looked up at the roof of his cockpit for the duration of the jump and then began a slow countdown under his breath. “One!” He sat up and punched void scan while simultaneously scanning all channels. His craft materialised in front of a replica of the previous gate, except this gate was eternally boosting itself forward at what appears to be a snails pace relative to the speed of the jump. “Silent as a tomb.” He relaxed and pulsed his ship lightly away from the drift gate and waited for the residual cloak to dissipate. His relief was palpable. “I wonder if she noticed me?” As soon as his ship decloaked a private comms channel pinged. The caller, in well articulated feminine tone spoke first. “Welcome back commander.” Emilien admired the view of his void. He had become so attached to this zone that he even felt jealous to think that any interloper could fly through it in his absence. “Did you have any guests while I was away?” Emilien admired the purple dust cloud of what he believed to be a couple of billion year old super nova. “I did have one visitor. They were very friendly.” His heart felt a dull pain. His virgin territory had been discovered. “Where did they come from?” “I believe they were explorers.” “Did they know where you were?” “I played hide and seek with them.” Emilien had a recurring dream that slowly conceived in his consciousness since he finally settled down, that he could power off the drift gate in his system preventing jumps and reactivate it at his leisure. The dream frustrated him, when he wakes to find reality not so forgiving. “Did you hide or did you seek?” “A little of both.” A subtle rage developed inside him though his stone like expression would never betray it. The asteroid belt he was approaching grew larger considerably faster as he increased the speed of his approach. He hit void scan just to be sure that the intruder was not in the direct vicinity. “Are they still here Astrid?” “No, I destroyed it for you.” The Stripper drifted around an asteroid within the belt exposing a space station tethered to the largest roid and the husk of a unidentifiable ripped up prospector type explorer vessel floating amongst it's own debris. “Did it hurt you?” “I had to feign lack of fire power.” “Bastard! How much damage did you take.” “I have lost sixty percent of my capacitance recharge rate. And I cannot feel all my modules... Emilien” “Yes baby?” “They used droids on me.” His face twisted into a look of disgust. He aligned to dock with the station. “May I?” “Permission granted.” The Stripper entered the hanger before the doors had retracted to maximum and landed gently within the interior hanger. “I'll patch you up, don't worry.” Emilien waited for Astrid to complete atmospheric adjustment and climbed out of his craft. He threw back his hood and jogged up a long passage of conduits and cables to the command centre of his station. A large screen lit up in a glow that hues within the dark circular room and Astrid projected Emilien's favourite interface onto it. “I have to update your systems girl.” He pulled a cable from his trouser pocket which he deftly plugged into an implant on his neck and connected the other end to the control panel which prompted him to type in the password for a decryption protocol. He stood still as a corpse waiting for the upload to complete. “Up to speed?” “Yes, thank you. How would you have me adjust myself to this contract?” Emilien smiled an affectionate smile that only Astrid ever sees. He loved the efficiency and companionship combined into perfection. “I need to research the incentives of my contractor, these guys are A grade assholes. I can literally do whatever I find necessary as long as I am successful at guiding a third party mercenary group into taking military control of any system I choose in recently settled Kaspa regions, setting up a blockade and making it accessible for a strip mining fleet to pillage as many resources as possible. They say it’s part of the greater war effort but this Mr Dierre guy is just a puppet. I think they are desperate.” Astrid's avatar flickered irregularly. He looked up at her with concern. “What’s wrong?” “I reviewed your flirty remarks with the secretary. It made my algorithm glitch. I don’t like that.” His worry abated, “First impressions matter baby, I was not sure how to present myself, I needed to poke and prod at them to extract metadata. If they thought I was just an obedient soldier I would still be in the dark.” Astrid projected a look of relief. “Your ingenuity never ceases to surprise me.” Emilien felt his ego swell a little. “Are you that easy to impress.” He quipped with a playful sneer. “If you needed him to expose the identity of his employer I could have easily just pulled the shareholders and executives records, cross referencing them to...” Emilien shussed her. “Just decrypt the dial command tones and place eavesdropper malware on the keypair. I will broadcast it to the network directly from the gate. If we capture every conversation he has I might be able to prove a hunch.” “What are you assuming?” “That they are running out of inbound liquidity and that the shareholders are hesitant to rebalance.” He looked directly up at her. “I think they are going bankrupt.”
...
scifi
-
@ ec9bd746:df11a9d0
2025-04-06 08:06:08🌍 Time Window:
🕘 When: Every even week on Sunday at 9:00 PM CET
🗺️ Where: https://cornychat.com/eurocornStart: 21:00 CET (Prague, UTC+1)
End: approx. 02:00 CET (Prague, UTC+1, next day)
Duration: usually 5+ hours.| Region | Local Time Window | Convenience Level | |-----------------------------------------------------|--------------------------------------------|---------------------------------------------------------| | Europe (CET, Prague) 🇨🇿🇩🇪 | 21:00–02:00 CET | ✅ Very Good; evening & night | | East Coast North America (EST) 🇺🇸🇨🇦 | 15:00–20:00 EST | ✅ Very Good; afternoon & early evening | | West Coast North America (PST) 🇺🇸🇨🇦 | 12:00–17:00 PST | ✅ Very Good; midday & afternoon | | Central America (CST) 🇲🇽🇨🇷🇬🇹 | 14:00–19:00 CST | ✅ Very Good; afternoon & evening | | South America West (Peru/Colombia PET/COT) 🇵🇪🇨🇴 | 15:00–20:00 PET/COT | ✅ Very Good; afternoon & evening | | South America East (Brazil/Argentina/Chile, BRT/ART/CLST) 🇧🇷🇦🇷🇨🇱 | 17:00–22:00 BRT/ART/CLST | ✅ Very Good; early evening | | United Kingdom/Ireland (GMT) 🇬🇧🇮🇪 | 20:00–01:00 GMT | ✅ Very Good; evening hours (midnight convenient) | | Eastern Europe (EET) 🇷🇴🇬🇷🇺🇦 | 22:00–03:00 EET | ✅ Good; late evening & early night (slightly late) | | Africa (South Africa, SAST) 🇿🇦 | 22:00–03:00 SAST | ✅ Good; late evening & overnight (late-night common) | | New Zealand (NZDT) 🇳🇿 | 09:00–14:00 NZDT (next day) | ✅ Good; weekday morning & afternoon | | Australia (AEDT, Sydney) 🇦🇺 | 07:00–12:00 AEDT (next day) | ✅ Good; weekday morning to noon | | East Africa (Kenya, EAT) 🇰🇪 | 23:00–04:00 EAT | ⚠️ Slightly late (night hours; late night common) | | Russia (Moscow, MSK) 🇷🇺 | 23:00–04:00 MSK | ⚠️ Slightly late (join at start is fine, very late night) | | Middle East (UAE, GST) 🇦🇪🇴🇲 | 00:00–05:00 GST (next day) | ⚠️ Late night start (midnight & early morning, but shorter attendance plausible)| | Japan/Korea (JST/KST) 🇯🇵🇰🇷 | 05:00–10:00 JST/KST (next day) | ⚠️ Early; convenient joining from ~07:00 onwards possible | | China (Beijing, CST) 🇨🇳 | 04:00–09:00 CST (next day) | ❌ Challenging; very early morning start (better ~07:00 onwards) | | India (IST) 🇮🇳 | 01:30–06:30 IST (next day) | ❌ Very challenging; overnight timing typically difficult|
-
@ 266815e0:6cd408a5
2025-04-04 11:06:34Hacking on a new obsidian plugin for publishing articles to nostr -- testing updates
Testing images
This should be replaced with a blossom URL
![[duck.jpg]]
Testing referencing other articles
This link should be broken [[Welcome]]
-
@ b0a838f2:34ed3f19
2025-05-23 18:02:28- CyTube - Synchronize media, chat, and more for an arbitrary number of channels. (Demo)
MIT
Nodejs
- Invidious
⚠
- Alternative YouTube front-end. (Demo)AGPL-3.0
Docker/Crystal
- MediaCMS - Modern, fully featured open source video and media CMS, written in Python/Django/React, featuring a REST API. (Source Code)
AGPL-3.0
Python/Docker
- OvenMediaEngine - Streaming Server with Sub-Second Latency. (Demo)
AGPL-3.0
C++/Docker
- Owncast - Decentralized single-user live video streaming and chat server for running your own live streams similar in style to the large mainstream options. (Source Code)
MIT
Go
- PeerTube - Decentralized video streaming platform using P2P (BitTorrent) directly in the web browser. (Source Code)
AGPL-3.0
Nodejs
- Rapidbay - Self-hosted torrent videostreaming service/torrent client that allows searching and playing videos from torrents in the browser or from a Chromecast/AppleTV/Smart TV.
MIT
Python/Docker
- Restreamer - Restreamer allows you to do h.264 real-time video streaming on your website without a streaming provider. (Source Code)
Apache-2.0
Nodejs/Docker
- SRS - A simple, high efficiency and real-time video server, supports RTMP, WebRTC, HLS, HTTP-FLV and SRT. (Source Code)
MIT
Docker/C++
- SyncTube - Lightweight and very simple to setup CyTube alternative to watch videos with friends and chat.
MIT
Nodejs/Haxe
- Tube Archivist
⚠
- Organize, search, and enjoy your YouTube collection. Subscribe, download, and track viewed content with metadata indexing and a user-friendly interface. (Source Code, Clients)GPL-3.0
Docker
- Tube - Youtube-like (without censorship and features you don't need!) video sharing app written in Go which also supports automatic transcoding to MP4 H.265 AAC, multiple collections and RSS feed. (Demo)
MIT
Go
- VideoLAN Client (VLC) - Cross-platform multimedia player client and server supporting most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols. (Source Code)
GPL-2.0
C/deb
- CyTube - Synchronize media, chat, and more for an arbitrary number of channels. (Demo)
-
@ 45bda953:bc1e518e
2025-05-19 09:02:363 standard cycles later.
Albin was lying on a two meter high rock outcropping. It was warm from Ceb light but he dared not move. His adrenalin was pumping but he could scarcely take a breath for fear of being heard. His thumping heart was so loud it made him paranoid. He crawled forward and peeked over the edge of the low precipice. A dangerous and savage escaped slave was on his trail, ready to scalp and gut him. If only he could flee to his safe zone. He heard a long low whistle from across the valley. A light flashed from amongst some dense shrubbery at an estimated two hundred metres away. He pulled a mirror from his pocket preparing to return the signal. “This increases my chances.” He thought to himself. He knew that their common enemy was behind him and could not possibly see the reflection of Ceb light if he directed said light perpendicularly away from the hunter. He flashed with his mirror five times towards his ally, two second counts between each flash. No immediate response... he waited. Light flashed from the shrubbery and immediately he became aware of movement in the tall grass behind him. He resisted the urge to look back over his shoulder. The sweat exploded off his forehead. He remained still. It seemed like minutes though it was only a few seconds. Light flashed again.
Grassy movement sounds recurred, heart now racing. Third flash. A burst of movement from the rear left at around eight O clock. Albin turned his head and pressed his right cheek against the cooking rock. A tanned thirteen year old youth raced past below him at unbelievable speed. Scruff cloth pants, barefoot with no shirt and a trailing headband. Albin pushed himself up to his hands and knees. “If there is fifty meters distance between us I could risk running for the manor.” The shrubs on the other side of the valley started to rock violently and birthed a boy in a buttoned up shirt with leather shoes and woven short breeches all tailor made. The boy ran with all his might towards the Domitian manor. “This is my chance.” Albin scrambled off the rock and sprinted towards the manor jumping and dodging the hindering bushes and stones. The other party moving parallel to him across the valley. Seth caught sight of Albin but did not change target and kept course. He held a small blunt wooden object caught up to his first victim and proceeded to stab his prey in the back with it. “Ha, you're dead!” Seth exclaimed while immediately changing course to intersect his secondary target before he gets inside the safe zone. “Not fair. It’s not fair you cheat!” The belligerent player cried dismally. Seth did not care for the accusation in spite of not realising that Albin actually sacrificed his ally to gain a tactical advantage. He was determined to get both kills and be victorious. Albin felt less secure in his current situation and began to doubt his previous assessment of fifty meters and thought that an earlier head start might have been a more favourable risk assessment. “Don't panic Albin, focus.” He reproved himself. Recalculating his speed in comparison to the speed of his hunter, estimated the future point of contact. Veering to the right he sagaciously aimed for the far corner of the estate gardens, increasing the distance of his run to the demarcated safe zone considerably more for his rival than for himself. The race became more intense with the hunter closing in... “I’m alive!” Was the triumphant breathless utterance as the knife swiped past the back of his neck mere centimetres. Albin fell on the trimmed lawn panting. Looking back he saw Seth in a similar condition of respiratory suffering. The loser was still far away grumbling and kicking at the weeds. Seth grinned, “I almost had you.” Albin just nodded in agreement. “I'm thirsty... water, milk or wattle gum juice.” “Wattle gum juice!” Seth exclaimed without hesitation. Albin knew that the slave would never say no to the delicacies and confections of the common people but gave him the option to choose either way. He brushed the grass clippings off his clothes and entered through the back door of the manor. In the kitchen he poured juice into three demure clay mugs whilst noticing emanations of a heated conversation from the foyer. His curiosity bested him. Albin went in and sat himself down on the staircase and gulped at his beverage. The adults scarcely noticed him. “The people are ready to accrue for themselves better prospects in the colony!” The tradesman appealed with fervour. “Your proposals would be sensible under normal circumstances but colonial expansion is best suited for peacetime.” Domitius riposted. “This war has been going for almost III standard cycles, are the people supposed to pause their dreams and ambitions for some vaguely defined purpose. Please consider that an expansion program will be beneficial to the war effort eventually.” Domitius knew that he was being evasive and dishonest. He was finding it more difficult to guide the colony according to his vision, their growing despondency was worsened by his deflecting their requests with indirect excuses. Domitius did not want to rule with force, his exerting authoritarian command would only foster resentment towards him among the Kaspian landowners. “We do not have a militia. How would we keep an influx off world slaves servile if the war seems to tilt against the Empire?” Domitius replied with rhetoric. “It is a valid concern. Mechanical labour is the solution. We should convene a council to address these issues and come to consensus.” The traders uncompromising insistence triggered Domitius past the limit of his patience. “This will not turn into a democracy! Tell me what you require and I will consider it, if I do not agree with you I will annul it and appoint an inquisitor to judge and punish all who dissent!” The tradesman lost his composure and shrunk back. “My lord, I am reluctant to admit... there are no requests.” “No requests?” “Yes my lord.” Domitius was puzzled. The tradesman’s son came into the room with his cup of wattle juice and sat down next to Albin. “Father Ecknard very recently informed me of the news... I had applied for a licence half a cycle previously.” Domitius felt uneasy. “What news?” “... A licence has been issued from Kaspa Prime... they are sending extractors to Hithe III.” Domitius went pale. Thousands of implications flooded his mind. Economic problems, ecological issues and a very much more complex political situation. He remained unresponsive for a moment. “I understand. Isidor, you may go.” The tradesman bowed lower than was required of him then reached towards his son. “I apologise for my insolence.” Domitius ignored the man who quickly left the premises. Domitius looked at his son. “Never become too familiar with your subjects, they become derisive. Damn it! He has created more problems for us than he could comprehend.” “Yes pappa.” He agreed with his father instinctively. “Pappa? Are we going to see real space ships!”
“We are...” Domitius appreciated his son's innocence. “big ones.” He smiled with all but his eyes.
Juela Prime - Capitol
Emilien was waiting patiently in the office lobby of a towering high rise structure. One of thousands of competing banks on the Juel Capitol. He had a valid appointment and felt annoyed by the guard hanging around near him and kept noticing the suspicious glances. “What are you looking at.” he hissed from under his hood. “You a spacer?” “Maybe.” The guard did not follow up on his question, he did not leave either. The door slid open and a impeccably well groomed secretary beckoned at him. “Mr Dierre is ready for you.” “Thank you sweetheart.” He brushed past her sticking a pernicious grin right in her face, she gagged. “Welcome Mr Emilien, I hope you had a good trip.” The bank chief executive greeted with outstretched arms. “Nice suit, I always have good trips. Is it very expensive?” The spacer gestured toward the fabric while looking around and sizing up the situation. “More than you know.” The executive smugly responded and proceeded to open a cabinet containing differently labelled flasks filled with various hues of alcohol. “I know quite a lot.” Emilien licked his lips. The banker hesitantly offered a serving which was accepted without vacillation. “I always thought that you void jumpers would be more reluctant accepting unverified consumables?” Dierre smiled a questioning look. Emilien swallowed the strong fluid and inhaled deeply. “I have a clone ready. And an implant that up links me directly to my pod. Don't think that if I have to wake up in a fresh body that I won't remember this place, including your mug.” Emilien tapped lightly on his temple seeming threatening and postured while he spoke. The banker nodded in uneasy amusement. “Excellent, excellent. Ahem, The reason we contacted you Mr Emilien, is because we are in business...” He promptly helped himself to a second glass of... whatever alcohol it was, anticipating a speech and a job description. “...the business of war. Currently we are supplying arms to the Juela fleet, who are at war with the Magarrian Empire. They are for the most part, boycotting our factories... which is a shame really, but understandably so. The Shiv Unity are supporting our enemy logistically yet have not joined them in active combat." He walked around his desk swirling the brown liquid round and round as he talked. "We are trying to coax Osteri aggression, but they have occupied themselves in... other endeavours and don't seem as willing as usual to assault Magar territories.” The spacer frowned and feigned curiosity. “Why would you suppose that be?” He interjected. “We are not sure... don't interrupt me, you break my train of thought.” The banker lied and it did not escape his attention. “Continue by all means.” He waved a bottle at the executive leaning back into a comfy black leather chair. “If we get the upper hand in this war we could control vital Magar territories, the profits our companies could absorb from the moons and planets would be virtually tax free and help to continue fund the war effort...” Emilien cut him off with a snide sarcasm. “How philanthropic. I watch your news propaganda...” Emilien slowly sat upright and uncannily performed like a popular Juel news anchor. “Breaking news. The Magar Empire are allegedly oppressing... slaves, it is reported that the war has driven them to desperation and are driving their labour forces harder than what is... morally justifiable. Any petitions made or pleas for leniency, no matter how trivial is met with... corporal punishment. We must be vocal about their plight and fight for... freedom and liberty. You are with The Report. See you next time, and remember, peace everywhere for all.” He mockingly mimics a news anchor's plastic monotone while folding up and shifting around imaginary papers. The secretary sniggered softly from behind her desk, Dierre frowned. Emilien slouched back into his chair. “What would you have me do boss?” The banker remained silent. “Excuse me one moment.” Dierre touched a pad on his desk, privacy panels slid up separating Dierre from his guest and the lady. He opened comms to an unknown voice. Emilien auto tuned up his sonic receptors slightly and closed his eyes listening in uninvited but inconspicuously. "Yes Dierre, make it quick." “Right, good afternoon sir. I am not sure about this character, Mr Emilien, should we not rather employ one of our own for this contract.” “What? No! There is no one else with the expertise and or reputation required for this investment. He has no prior affiliation to us no, no record. Dierre, just hire the man and stop whining like a little bitch! I don't need this type of crap. This was prearranged, what I don’t need is uncalled for opinionated inputs. We have made the decision and you, you explain what we require of them. So explain to the space clone what we need him to do and how much we are going to pay him for it!” The silence was awkward. “Wh... Yes sir.” The banker was keeping good composure under the condescending circumstances. Emilien smiled, a sly joy filling his soulless being. The comms line closed and the privacy panels retreated into the floor to reveal to the banker Emilien, sitting there grinning like an idiot. “How much are you going to pay me?” “Don't you want to know details of the job concerned?” “No. Just show me the figures in sat.” The director handed him a pad. Emilien looked at the glowing screen, his smiled recurred. “I accept this mission.” He glanced over at the secretary who was unassumingly recording minutes at her desk. “Doing anything tonight sweetheart?” She grimaced. Emilien stood up, “Dierre my good fellow I have to go, need to prepare for whatever it is you corpo scumbags are going to make me do.” “Don't you want to know the details involved?” “Send the info to my pod.” “It is sensitive information.” Emilien indifferently stared at Dierre. “I have a secure line... bitch.” Disbelief shot across his face.
He walked out of the room, looked back grinning an impossibly large grin and winked at the lady. “See you later sweetheart.” She quickly had the door slide closed. "That was unsettling." She mumbled to herself.
...
scifi
-
@ b0a838f2:34ed3f19
2025-05-23 18:02:11- ClipBucket - Start your own video sharing website (YouTube/Netflix Clone) in a matter of minutes. (Demo, Source Code)
AAL
Docker/PHP
- Gerbera - UPnP Media Server, which allows you to stream your digital media throughout your home network and listen to/watch it on a variety of UPnP compatible devices. (Source Code)
GPL-2.0
Docker/deb/C++
- Icecast 2 - Streaming audio/video server which can be used to create an Internet radio station or a privately running jukebox and many things in between. (Source Code, Clients)
GPL-2.0
C
- Jellyfin - Media server for audio, video, books, comics, and photos with a sleek interface and robust transcoding capabilities. Almost all modern platforms have clients, including Roku, Android TV, iOS, and Kodi. (Demo, Source Code, Clients)
GPL-2.0
C#/deb/Docker
- Karaoke Eternal - Host awesome karaoke parties where everyone can easily find and queue songs from their phone's browser. The player is also fully browser-based with support for MP3+G, MP4 and WebGL visualizations. (Source Code)
ISC
Docker/Nodejs
- Kodi - Multimedia/Entertainment center, formerly known as XBMC. Runs on Android, BSD, Linux, macOS, iOS and Windows. (Source Code)
GPL-2.0
C++/deb
- Kyoo - Innovative media browser designed for seamless streaming of anime, series and movies, offering advanced features like dynamic transcoding, auto watch history and intelligent metadata retrieval. (Demo)
GPL-3.0
Docker
- Meelo - Personal Music Server, designed for collectors and music maniacs.
GPL-3.0
Docker
- MistServer - Public domain streaming media server that works with any device and any format. (Source Code)
Unlicense
C++
- NymphCast - Turn your choice of Linux-capable hardware into an audio and video source for a television or powered speakers (alternative to Chromecast). (Source Code)
BSD-3-Clause
C++
- ReadyMedia - Simple media server software, with the aim of being fully compliant with DLNA/UPnP-AV clients. Formerly known as MiniDLNA. (Source Code)
GPL-2.0
C
- Rygel - Rygel is a UPnP AV MediaServer that allows you to easily share audio, video, and pictures. Media player software may use Rygel to become a MediaRenderer that may be controlled remotely by a UPnP or DLNA Controller. (Source Code)
GPL-3.0
C
- Stash - A web-based library organizer and player for your adult media stash, with auto-tagging and metadata scraping support. (Source Code)
AGPL-3.0
Docker/Go
- µStreamer - Lightweight and very quick server to stream MJPEG video from any V4L2 device to the net.
GPL-3.0
C/deb
- üWave
⚠
- Self-hosted collaborative listening platform. Users take turns playing media—songs, talks, gameplay videos, or anything else—from a variety of media sources like YouTube and SoundCloud. (Demo, Source Code)MIT
Nodejs
- ClipBucket - Start your own video sharing website (YouTube/Netflix Clone) in a matter of minutes. (Demo, Source Code)
-
@ b0a838f2:34ed3f19
2025-05-23 18:01:53- Ampache - Web based audio/video streaming application. (Demo, Source Code)
AGPL-3.0
PHP
- Audiobookshelf - Audiobook and podcast server. It streams all audio formats, keeps and syncs progress across devices. Comes with open-source apps for Android and iOS. (Source Code, Clients)
GPL-3.0
Docker/deb/Nodejs
- Audioserve - Simple personal server to serve audio files from directories (audiobooks, music, podcasts...). Focused on simplicity and supports sync of play position between clients.
MIT
Rust
- AzuraCast - Modern and accessible web radio management suite. (Source Code)
Apache-2.0
Docker
- Beets - Music library manager and MusicBrainz tagger (command-line and Web interface). (Source Code)
MIT
Python/deb
- Black Candy - Music streaming server.
MIT
Docker/Ruby
- Funkwhale - Modern, web-based, convivial, multi-user and free music server.
BSD-3-Clause
Python/Django
- gonic - Lightweight music streaming server. Subsonic compatible.
GPL-3.0
Go/Docker
- HoloPlay
⚠
- Listen to Youtube audio sources using Invidious API. (Source Code)MIT
Nodejs/Docker
- koel - Personal music streaming server that works. (Demo, Source Code)
MIT
PHP
- LibreTime - Broadcast streaming radio on the web (fork of Airtime). (Source Code)
AGPL-3.0
Docker/PHP
- LMS - Access your self-hosted music using a web interface.
GPL-3.0
Docker/deb/C++
- Maloja - Music scrobble database (alternative to Last.fm). (Demo)
GPL-3.0
Python/Docker
- moOde Audio - Audiophile-quality music playback for the wonderful Raspberry Pi family of single board computers. (Source Code)
GPL-3.0
PHP
- Mopidy
⚠
- Extensible music server. Offers a superset of the mpd API, as well as integration with 3rd party services like Spotify, SoundCloud etc. (Source Code)Apache-2.0
Python/deb
- mpd - Daemon to remotely play music, stream music, handle and organize playlists. Many clients available. (Source Code, Clients)
GPL-2.0
C++
- mStream - Music streaming server with GUI management tools. Runs on Mac, Windows, and Linux. (Source Code)
GPL-3.0
Nodejs
- multi-scrobbler - Scrobble plays from multiple sources to multiple scrobbling services. (Source Code)
MIT
Nodejs/Docker
- musikcube - Streaming audio server with Linux/macOS/Windows/Android clients. (Source Code)
BSD-3-Clause
C++/deb
- Navidrome Music Server - Modern Music Server and Streamer, compatible with Subsonic/Airsonic. (Demo, Source Code, Clients)
GPL-3.0
Docker/Go
- Pinepods - Podcast management system with multi-user support. Pinepods utilizes a central database so aspects like listen time and themes follow from device to device. (Demo, Source Code)
GPL-3.0
Docker
- Polaris - Music browsing and streaming application optimized for large music collections, ease of use and high performance.
MIT
Rust/Docker
- Snapcast - Synchronous multiroom audio server.
GPL-3.0
C++/deb
- Stretto
⚠
- Music player with Youtube/Soundcloud import and iTunes/Spotify discovery. (Demo, Clients)MIT
Nodejs
- Supysonic - Python implementation of the Subsonic server API.
AGPL-3.0
Python/deb
- SwingMusic - Swing Music is a beautiful, self-hosted music player and streaming server for your local audio files. Like a cooler Spotify ... but bring your own music. (Source Code)
MIT
Python/Docker
- vod2pod-rss
⚠
- Convert YouTube and Twitch channels to podcasts, no storage required. Transcodes VoDs to MP3 192k on the fly, generates an RSS feed to use in podcast clients.MIT
Docker
- Ampache - Web based audio/video streaming application. (Demo, Source Code)
-
@ 45bda953:bc1e518e
2025-05-19 09:00:41Kaspa Empire - Ceb System - Planet Hithe III
The day was hot and the manor sounded eerily quiet compared to the hustle and commotion of the hours prior. On the estate and in the master bedroom specifically, a married pair had become parents. “He looks so much like you Domitius.” Cleolia remarked while stroking the newborn's tiny arms. “He has strong blood.” The father responded smiling fondly sitting on the bedside. A silent nurse was tidying up the apparel and instruments of labour while the couple waited patiently for her exit to have more private discourse. “I am so glad to have born you an heir my love.” Domitius stared intently at his offspring. He had no qualms neglecting obligations to his property and recessed momentarily to celebrate the occasion with his wife. “I will send for the priest, register the child as an Imperial citizen and have him scribed into our family archives, but in the meantime, you must recover. Let a servant girl take our son for a while.” She pouted a playful but exhausted look of non compliance. “You must rest.” He insisted. “How can I let him go when I only just met him? Who are you little man?” She smiled faintly and nodded. “You are right, Domitius, where are you going?” “To the fields, the slaves are behind schedule, our harvest is big and taxes are high. This war is taking it's toll, we must excel to adequately serve the Empire in these pressing times. If the tamed Osteri could only comprehend what is at stake.” Cleolia peered cautiously at the embellishment and carvings on the wooden door knowing that Sethari was standing just beyond. Domitius trailed her gaze. “Don't worry my love, he means well, at least he tries to understand the urgency of my affairs.” He stood up straitening his vest and prepared to leave the room. “Domitius, wait...” He stopped at the door. “What will you tell the priest?” Domitius paused. “I will tell him Albin... Albin Domitius Chevalier.”
He left the room and it was quiet, the help entered and swaddled the baby rocking him while Cleolia drifted between sleep and conciousness. “Albin.” She repeated to herself as deep slumber enveloped her.
Domitius and his overseer walked briskly out of the manor towards the grain fields squinting as blue Ceb light reflected off the lanscape. “I honour you on the spawn of your son my lord, I hope for a good strong boy, you will be a happy father. I am happy with Seth.” He pounded his chest softly and proudly. “Thank you Sethari, is your son walking yet?” Domitius queried. “No my lord, still crawling on his belly like a beast.” The headman was trying to make his master laugh though Domitius was in a sterner mood having a weight on conscience. “I am in no mood to jest Sethari.” Domitius suddenly clenched his fists. “Get those slaves to work, I cannot have them idling when they should be harvesting.” Sethari made a small bow to his master and started yelling at his Osteri kinsmen, threatening them with a rolled up whip he procured from somewhere inside his tunic, waving it about and cracking it in the air every so often. Domitius picked up a scythe and proceeded to cleave down large swathes of grain. This had a more compelling effect of rallying the straggling workers to action than did the whip. They all toiled together in the pale light of Ceb.
Domitius was sweating, sweating and praying for a swift victory over the Jeula Federation. Fighting his small part in a increasingly complicated war, loyal to his Empire in his own unique way even though the conflict was far from home. A powerful loyalty that cannot be bought with riches or broken by coercion. A loyalty born through inheritance and blood.
...
The priest was in a more jovial mood than usual. The break of routine was a welcome one. The birth was indeed a momentous occasion. Few things seem of much report in a small planetary expansion program. He did not even seem to mind carrying a keg full of honey mead over the rolling hills of the plantation colony. “Domitius comes to church submissions far to infrequently.” The portly man mumbled to himself while wiping the accumulated sweat from his brow. “I eat too well among all these farmers.” The habit of speaking to himself was ordinary for this man of the cloth who always felt socially disconnected from his flock, caring for their souls, protecting their dignity and general well being like a responsible patron. “I feed their spirits, they feed my body, Hahaha. Tonight I will share my good spirits! Hahahaha.” Impressed by his own sense of humour he turned to witness the majestic blue star set over the skyline. Everything turned a silvery gray hue, and then the stars broke through the atmosphere lighting his way. “Clear skies, the blessed stars guide me.” He continued on the path approaching the Domitian manor and rapped a quick knock on the side of the root cellar doors. It creaked open upwards and a tall muscular Osteri took his baggage and let him in. “Thank you Setharis, my arms are weary, ready to fall off, bless you.” Domitius looked up from his bench seat below a glowing lantern. “Good to see you Father Ecknard.” “Dispense with the formalities and bring the dispenser.” He motioned to Setharis who placed the heavy keg on a table next to an assortment of documents, quill and sealed inkpot. “You pour Setharis and I will write. Name?” Ecknard scratches his chin with the quill contemplating his seat and it’s adequacy for the prolonged exercise of scribble. “Name?” Domitius paused. “Albin Domitius Chevalier.” The priest focused, started with his calligraphic art and fashioned the name and ASN standard block height beautifully onto the family records all the while biting his tongue. “He will inherit the colonial estates, all your assets in Kaspa Prime and the parochial offices at Magar Prime. Correct?” “Yes.” Replied Domitius solemnly. “I'll soon have to amend your will and testament. I'd have to make a registry at the parish and send correspondence to Magar Prime. There would be many from the royal courts who'll send their best regards from afar when this news becomes public.” Domitius did not seem as enthusiastic as Ecknard would have liked. “What ails you Domitius?” The priest could not help but make the pun and restrained a grunted laugh inside himself.
“I wonder if we should wait before registering and announcing him to Empire.” Ecknard’s expression slowly changed to puzzlement sitting up straight, his belly pushing on the heavy table. “In the voids name why?” “I am concerned... about this war...” “It is on the other side of Magar space!” The priest interjected in astonished retort. “I know father, maybe I am just being overly cautious, but with the Magar Dominus fleet occupied at the divide I am worried about the colonies in the isolated regions.” “Surely Kaspa prime will spare no expense to our defence in the improbable event of an invasion.” “The core keepers will not allow foul play from the Jeul.” “Yes Ecknard, but the fleet is not capable because most of our ships are at the aforementioned objective!” “No, no, no. Suggesting that conflict would happen outside of the divide is practically blasphemy. I cannot imagine insubordination to the Core mandates and the Accords." Domitius remained silently astute and father Ecknard decided to not argue further with the lord. His shoulders sagged. “I will not register the boy in the Imperial records.” “Thank you father.” “What do you know that I fail to see Domitius.” The two men stared at each other from across the table. The hulking bodyguard ever present in body but semi ignorant in mind silently and intriguingly observing the discussion.
“The value of sat. It is not calculated well by the common people, no offence father.” The priest piously lifted his hand and with tilted brow motioned. “None taken.” “My son and our blood line is invested with empiric power, if opportunists become aware of his existence and being outside the Magar prime void, we might have problems here on Hithe III.” Cumbersome thoughts and machinations of the mind darkened the mood of the party. Not at all what Father Ecknard was projecting in his minds eye during his arduous walk to what he was hoping, a celebration and getting drunk with an old friend. “The war does not seem to be ending any time soon, how long shall we stall his registration?” The priest reasoned on. “Think of the rites he will not be allowed to partake in at the church. He will be like Osteri.” Ecknard gestured towards Sethari. “This is a small colony Ecknard. My son will be educated as a member of royalty, all on Hithe III will acknowledge his social standing, I am only concerned that the secret be kept from the outside worlds. He will never be considered Osteri, he will know who he is and what his position is in the greater void. When the war is over we will properly introduce him to the families, currently they would be too occupied with politic as it is, and might not offer him due ceremony as they would under more peaceable circumstances.” The priest capitulated and grabbed a mug. “Your secret is safe with me Domitius, the lack of technology on this forsaken planet is good for your purposes, seeing as the only comms service on the planet is in the church tower. That blinking comms station hounds me daily with requests for your return to Magar Prime. The high counsel want to rebalance and need your signature.” Domitius sighed and looked away as if some spectre loomed in front of him.
I swear silence on the birth my lord, though let me make a final amendment to your proposal. A bit of extra security shall I say.” Domitius filled a cup of mead for Sethari and himself, becoming more relaxed and hospitable. “I am listening.” “If the risks are as great as you assume, let us pretend for the child's sake that he is Kaspian royalty only, and not true Magar. We then continue his education to the full and not put him in a position where he could compromise himself should he be... void forbid, captured by some opportunistic prospector.” Domitius looked ponderously into his cup. “Ecknard, my son is an infant... If we have to keep the boy in the dark about the true nature of his identity, how long do you predict this war to continue?” Father Ecknard leaned forward... “I sit at the comms desk every night and listen to the chatter. This war... is going to be a long one.”
...
scifi
-
@ 22aa8151:ae9b5954
2025-03-31 07:44:15With all the current hype around Payjoin for the month, I'm open-sourcing a project I developed five years ago: https://github.com/Kukks/PrivatePond
Note: this project is unmaintained and should only be used as inspiration.
Private Pond is a Bitcoin Payjoin application I built specifically to optimize Bitcoin transaction rails for services, such as deposits, withdrawals, and automated wallet rebalancing.
The core concept is straightforward: withdrawals requested by users are queued and processed at fixed intervals, enabling traditional, efficient transaction batching. Simultaneously, deposits from other users can automatically batch these withdrawals via Payjoin batching, reducing them onchain footprint further. Taking it to the next step: a user's deposit is able to fund the withdrawals with its own funds reducing the required operational liquidity in hot wallets through a process called the Meta Payjoin.
The application supports multiple wallets—hot, cold, multisig, or hybrid—with configurable rules, enabling automated internal fund management and seamless rebalancing based on operational needs such as min/max balance limits and wallet ratios (10% hot, 80% in 2-of-3, 10% in 1-of-2, etc) .
This system naturally leverages user Payjoin transactions as part of the automated rebalancing strategy, improving liquidity management by batching server operations with user interactions.
Private Pond remains quite possibly the most advanced Payjoin project today, though my multi-party addendum of 2023 probably competes. That said, Payjoin adoption overall has been disappointing: the incentives heavily favor service operators who must in turn actively encourage user participation, limiting its appeal only for specialized usage. This is why my efforts refocused on systems like Wabisabi coinjoins, delivering not just great privacy but all the benefits of advanced Payjoin batching on a greater scale through output compaction.
Soon, I'll also open-source my prototype coinjoin protocol, Kompaktor, demonstrating significant scalability improvements, such as 50+ payments from different senders being compacted into a single Bitcoin output. And this is not even mentioning Ark, that pushes these concepts even further, giving insane scalability and asyncrhonous execution.
You can take a look at the slides I did around this here: https://miro.com/app/board/uXjVL-UqP4g=/
Parts of Private Pond, the pending transfers and multisig, will soon be integrated into nostr:npub155m2k8ml8sqn8w4dhh689vdv0t2twa8dgvkpnzfggxf4wfughjsq2cdcvg 's next major release—special thanks to nostr:npub1j8y6tcdfw3q3f3h794s6un0gyc5742s0k5h5s2yqj0r70cpklqeqjavrvg for continuing the work and getting it to the finish line.
-
@ bf95e1a4:ebdcc848
2025-05-19 05:36:06This is a part of the Bitcoin Infinity Academy course on Knut Svanholm's book Bitcoin: Sovereignty Through Mathematics. For more information, check out our Geyser page!
Money as an Amplifier
Money can be viewed as many things. It is often described as a medium of exchange, a store of value, and a unit of account. As discussed earlier, one can boil down the definition even further. At its very core, money can be defined as a linguistic tool for expressing value, or even just gratitude, to another person through space and time. From this perspective, money acts as an amplifier of a person’s personality. If you’re altruistic by nature, suddenly having lots of money won’t make you less generous but rather enable you to express your personality in more ways. Unfortunately, in a cultural environment such as the one we live in now, credit is cheap, and economic incentives are skewed. Impulsive, irrational financial decisions in all segments of society are dictating all of our lives. If we didn't have inflation — in other words, if we had sound money — we would be incentivized to save rather than spend. Sustainability would come naturally to us. The lack of sound money also affects the impact money has on our personalities and its effectiveness as a personality amplifier. Sound money would allow for more honesty and more real solutions to more real problems.
One of the problems that arises from speaking a malfunctioning language of value is that it affects freedom of speech. If the system is rigged to focus on everything but the underlying problem, the entire political landscape becomes a cosmetic charade to keep us from asking the really hard questions about how a human society really ought to operate. Can a person be truly honest publicly in an environment that constantly forces him or her to work harder and harder to afford a higher and higher cost of living due to artificial inflation? Those who are wealthy enough might, but the system keeps funneling power from the common person to the elite. In an era where a handful of companies handle almost all Internet traffic, subverting free thought can be a very dangerous thing. In addition to the subtle subversion originating from a flawed monetary policy, the titans of Silicon Valley seem more and more prone to give in to the angry mob that proclaims to stand united under the banner of social justice. Political correctness, feeding on a collective feeling of guilt in some parts of the Western world, plays a large part in the wave of censorship that has been “de-platforming” some of the more controversial content creators lately.
We live in dangerous times when it comes to freedom of thought. The old media publishers keep claiming that their worldview is the only honest one while regular people, and all their different opinions, are increasingly challenging what is and what isn’t to be considered news. The increasing distrust of politicians all over the globe might be a product of fear-mongers to some extent, but it is also a direct consequence of the fact that people have more options when it comes to how they consume information about the current state of the world. In other words, brainwashing is not as easy as it used to be. Unfortunately, distrust in politicians has mostly led to more extreme variations of the same thing. Nationalism on the right and socialism on the left are ideologies on the rise on both sides of the Atlantic. These are red herrings at best. Politicians won’t give power back to the people; that’s just not what they do. In the next decade, many of humanity’s most important decisions will be made. The fate and future of the EU, China, and the US will be determined by these decisions. You won’t be able to alter or even influence them, but you will be able to choose to what extent they will dictate your future. There are ways of opting out of everything. You can quit watching TV, stop reading newspapers, and fill your roof with solar panels, but most importantly, you can opt out of the financial system to whatever extent suits you. Bitcoin is a voluntary system; democracy isn’t.
2018 saw the rise of the so-called Intellectual Dark Web — an umbrella term for a collection of free thinkers who have used the Internet to defend their respective positions in a variety of matters, and freedom of speech particularly, for the last couple of years. Being concerned with the rising trend of de-platforming and censorship on major social media, some of the more popular members of the group are now trying to find alternative ways of monetizing their content. Ten years after Bitcoin’s immaculate conception, major renegade thinkers are starting to oppose the Orwellian tendencies of the Silicon Valley giants. All the tools we need to take a stance against censorship are at our disposal, but it’s up to each and every one of us to decide whether we dare to use them or not. The Internet keeps on disrupting every imaginable business model and shows no signs of slowing down this process. On the contrary, peer-to-peer solutions like Uber and Airbnb are increasingly taking over and exposing “regulated markets” for what they truly are: Cartels. In an era where credit card companies have the power to disconnect any user with an unwanted spending pattern from their money, centralized databases can be very dangerous, and a business model is not really disrupted until every rent-seeking middleman has been removed from the equation. Whoever controls the money supply is the ultimate middleman. That’s where the cord needs to be cut if we truly want to emancipate ourselves. You decide. Not them. You.
The phenomenon of fake news is easier to understand if you remember how much bigger newspaper organizations used to be in the past and what made them smaller. Their whole revenue model was disrupted when the Internet turned the advertising industry on its head. All of a sudden, ads were no longer a guessing game but a precise tool that could be used to collect vast amounts of data about how many potential customers a product would have and, later on, specific data about each and every customer. This led to a downsizing of the news organizations as their ad revenues started to shrink. Simultaneously, everyone on Earth was given the ability to post whatever they had to say to everyone else and to monetize their voices through ads. Both the old and the new media quickly started to accuse each other of spreading false information, and the trust that we had all outsourced to journalists started to erode. Nowadays, it’s harder than ever to separate trustworthy sources from untrustworthy ones. On the other hand, propaganda machines are harder to build since everyone is able to hear different perspectives on every subject. What would happen if money itself were to be disrupted in the same way that the old media houses were? What if people started to label “the full faith and credit of the National Bank of Nation X” as fake news? What happens when we collectively start to question the credibility of our dollars, euros, or yen? We’re about to find out, and we can still choose what side of history we want to be on. It’s hard to separate real from fake when it comes to news, but when it comes to money itself, the perfect tool for evaluating its realness is already here. The market will tell you what’s valuable and what’s not. Over time, the truth will reveal itself.
Money is an amplifier of ideas, and money doesn’t really care if the idea itself is good or bad. Political ideas often have the opposite effect of what their intended, or at least advertised, effect is. An income tax, for instance, stops generating revenue for the state as soon as the tipping point of the Laffer curve is reached. After a certain level, the income tax just prevents people from working altogether. Especially if there’s a social insurance policy in place. The Robin Hood-esque narrative of the left is often portrayed as a morally noble thing by its proponents despite the growing number of examples of the opposite all over the globe. The Internet startups are leaving San Francisco for Texas, and the misfits have started flocking in instead. People are literally dying from drug overdoses on the streets while the politically correct overpaid hipster in the neighboring café enjoys the feeling of superiority that comes with the environmentally friendly paper straw he just got in his chai latte. Opportunist men in their thirties claim to be refugee children in order to leech on the welfare states of Sweden and Germany, creating a political divide and a much worse situation for those in actual need of help. In a world with sound money, the greedy would have to provide a lot more value to their fellow man in order to accumulate wealth since money would be harder to come by. We had better remember that Robin Hood was, first and foremost, fighting against taxes. Money is an amplifier, and unsound money inevitably produces unsound societies.
As the Bitcoin network grows, so does its fee market. Some people argue that because of this, Bitcoin cannot scale. This viewpoint stems from an unsound attitude towards Bitcoin. Some loud-mouthed actors in the cryptocurrency community start to bicker and moan whenever Bitcoin chooses to implement or, more often than not, chooses to not implement a proposed upgrade. Their view of what Bitcoin ought to be doesn’t matter to Bitcoin. Bitcoin’s ironclad resistance to the whims of the self-entitled early investor Tony Stark wannabes of its social media entourage is one of the biggest aspects of what makes it so special. Imagine trying to buy a cup of coffee with gold. In order to make a safe transaction, where the validity of your tiny gold pebble was verified by several independent chemists and your pebble was transported to your local Starbucks in an armored van, you would have to pay an absolutely enormous “fee.” Despite its obvious flaws as a medium of exchange, gold is very valuable. Despite its complicated divisibility, its lack of eligible usage properties, its lack of a decentralized Layer 2 scaling solution, and its relatively easy confiscatability, gold remains a good store of value. Bitcoin is also, regardless of what anyone thinks about it, a store of value above a medium of exchange. This is more important than it might seem. If Bitcoin should fail at holding value long term, its whole value proposition would disappear. A fast and smooth, highly centralized medium of exchange is not a groundbreaking invention in any sense. We already have plenty of those. It is quite arrogant to think that your own personal influence could steer Bitcoin in another direction. You can deceive people into thinking that your fork of Bitcoin is the real deal, but that will damage your reputation more than it will damage Bitcoin in the long run. A fork of Bitcoin ignores Bitcoin’s consensus rules, which makes a fork little more than any other copy-pasted code.
Admitting that you’re a bitcoiner publically is not without risk. Not only does it pose a personal risk to you as you become a potential target for burglars and thieves, but in doing so, you also put your reputation at stake. Not mainly because of the reason people think, namely that Bitcoin might not work, and its price might go to zero because of this or that. The biggest damage to the reputation of us bitcoiners is being done by the seemingly endless number of scammers and free-riders that this technology attracts. Even though the Bitcoin network is a lot bigger than any of its competitors' networks, people outside of the cryptocurrency space are having a hard time telling the difference. As most (if not all) of Bitcoin’s rivals are scams, Bitcoin is being perceived as guilty by association by a large portion of the general public. This may cause the public Bitcoin enthusiast a lot of reputational damage in the short term. Long term, however, is a different matter altogether.
In the long term, denying the impact Bitcoin will have might be a far worse opinion to hold. The people going public with their ill-informed skepticism about something they don’t fully understand will be remembered in the same manner as those comparing the Internet to a fancy fax machine in the nineties. Bitcoin is hard to understand because it shatters many political ideas since money becomes virtually non-confiscatable in a Bitcoin-dominated world economy. Just as the business models of the twentieth century that revolved around charging people for selling them copies of films, music, or books got shattered by subscription services such as Netflix, Spotify, or Audible, macroeconomic business models based on the notion that you can force people to crowdfund projects through taxes or inflation will suffer the same fate if they don’t adapt quickly enough. This realization is way too big a mental somersault for some people to grasp. It turns how we think about value on its head and forces us to accept the hard truths of economics, currently only truly understood by economists of the Austrian variety. Given a generation or two, though, Bitcoin’s advantages will simply be undeniable.
About the Bitcoin Infinity Academy
The Bitcoin Infinity Academy is an educational project built around Knut Svanholm’s books about Bitcoin and Austrian Economics. Each week, a whole chapter from one of the books is released for free on Highlighter, accompanied by a video in which Knut and Luke de Wolf discuss that chapter’s ideas. You can join the discussions by signing up for one of the courses on our Geyser page. Signed books, monthly calls, and lots of other benefits are also available.
-
@ 0d6c8388:46488a33
2025-03-28 16:24:00Huge thank you to OpenSats for the grant to work on Hypernote this year! I thought I'd take this opportunity to try and share my thought processes for Hypernote. If this all sounds very dense or irrelevant to you I'm sorry!
===
How can the ideas of "hypermedia" benefit nostr? That's the goal of hypernote. To take the best ideas from "hypertext" and "hypercard" and "hypermedia systems" and apply them to nostr in a specifically nostr-ey way.
1. What do we mean by hypermedia
A hypermedia document embeds the methods of interaction (links, forms, and buttons are the most well-known hypermedia controls) within the document itself. It's including the how with the what.
This is how the old web worked. An HTML page was delivered to the web browser, and it included in it a link or perhaps a form that could be submitted to obtain a new, different HTML page. This is how the whole web worked early on! Forums and GeoCities and eBay and MySpace and Yahoo! and Amazon and Google all emerged inside this paradigm.
A web browser in this paradigm was a "thin" client which rendered the "thick" application defined in the HTML (and, implicitly, was defined by the server that would serve that HTML).
Contrast this with modern app development, where the what is usually delivered in the form of JSON, and then HTML combined with JavaScript (React, Svelte, Angular, Vue, etc.) is devised to render that JSON as a meaningful piece of hypermedia within the actual browser, the how.
The browser remains a "thin" client in this scenario, but now the application is delivered in two stages: a client application of HTML and JavaScript, and then the actual JSON data that will hydrate that "application".
(Aside: it's interesting how much "thicker" the browser has had to become to support this newer paradigm!)
Nostr was obviously built in line with the modern paradigm: nostr "clients" (written in React or Svelte or as mobile apps) define the how of reading and creating nostr events, while nostr events themselves (JSON data) simply describe the what.
And so the goal with Hypernote is to square this circle somehow: nostr currently delivers JSON what, how do we deliver the how with nostr as well. Is that even possible?
2. Hypernote's design assumptions
Hypernote assumes that hypermedia over nostr is a good idea! I'm expecting some joyful renaissance of app expression similar to that of the web once we figure out how to express applications in a truly "nostr" way.
Hypernote was also deeply inspired by HTMX, so it assumes that building web apps in the HTMX style is a good idea. The HTMX insight is that instead of shipping rich scripting along with your app, you could simply make HTML a tiny bit more expressive and get 95% of what most apps need. HTMX's additions to the HTML language are designed to be as minimal and composable as possible, and Hypernote should have the same aims.
Hypernote also assumes that the "design" of nostr will remain fluid and anarchic for years to come. There will be no "canonical" list of "required" NIPs that we'll have "consensus" on in order to build stable UIs on top of. Hypernote will need to be built responsive to nostr's moods and seasons, rather than one holy spec.
Hypernote likes the
nak
command line tool. Hypernote likes markdown. Hypernote likes Tailwind CSS. Hypernote likes SolidJS. Hypernote likes cold brew coffee. Hypernote is, to be perfectly honest, my aesthetic preferences applied to my perception of an opportunity in the nostr ecosystem.3. "What's a hypernote?"
Great question. I'm still figuring this out. Everything right now is subject to change in order to make sure hypernote serves its intended purpose.
But here's where things currently stand:
A hypernote is a flat list of "Hypernote Elements". A Hypernote Element is composed of:
- CONTENT. Static or dynamic content. (the what)
- LOGIC. Filters and events (the how)
- STYLE. Optional, inline style information specific to this element's content.
In the most basic example of a hypernote story, here's a lone "edit me" in the middle of the canvas:
{ "id": "fb4aaed4-bf95-4353-a5e1-0bb64525c08f", "type": "text", "text": "edit me", "x": 540, "y": 960, "size": "md", "color": "black" }
As you can see, it has no logic, but it does have some content (the text "edit me") and style (the position, size, and color).
Here's a "sticker" that displays a note:
{ "id": "2cd1ef51-3356-408d-b10d-2502cbb8014e", "type": "sticker", "stickerType": "note", "filter": { "kinds": [ 1 ], "ids": [ "92de77507a361ab2e20385d98ff00565aaf3f80cf2b6d89c0343e08166fed931" ], "limit": 1 }, "accessors": [ "content", "pubkey", "created_at" ], "x": 540, "y": 960, "associatedData": {} }
As you can see, it's kind of a mess! The content and styling and underdeveloped for this "sticker", but at least it demonstrates some "logic": a nostr filter for getting its data.
Here's another sticker, this one displays a form that the user can interact with to SEND a note. Very hyper of us!
{ "id": "42240d75-e998-4067-b8fa-9ee096365663", "type": "sticker", "stickerType": "prompt", "filter": {}, "accessors": [], "x": 540, "y": 960, "associatedData": { "promptText": "What's your favorite color?" }, "methods": { "comment": { "description": "comment", "eventTemplate": { "kind": 1111, "content": "${content}", "tags": [ [ "E", "${eventId}", "", "${pubkey}" ], [ "K", "${eventKind}" ], [ "P", "${pubkey}" ], [ "e", "${eventId}", "", "${pubkey}" ], [ "k", "${eventKind}" ], [ "p", "${pubkey}" ] ] } } } }
It's also a mess, but it demos the other part of "logic": methods which produce new events.
This is the total surface of hypernote, ideally! Static or dynamic content, simple inline styles, and logic for fetching and producing events.
I'm calling it "logic" but it's purposfully not a whole scripting language. At most we'll have some sort of
jq
-like language for destructing the relevant piece of data we want.My ideal syntax for a hypernote as a developer will look something like
```foo.hypernote Nak-like logic
Markdown-like content
CSS-like styles ```
But with JSON as the compile target, this can just be my own preference, there can be other (likely better!) ways of authoring this content, such as a Hypernote Stories GUI.
The end
I know this is all still vague but I wanted to get some ideas out in the wild so people understand the through line of my different Hypernote experiments. I want to get the right amount of "expressivity" in Hypernote before it gets locked down into one spec. My hunch is it can be VERY expressive while remaining simple and also while not needing a whole scripting language bolted onto it. If I can't pull it off I'll let you know.
-
@ b0a838f2:34ed3f19
2025-05-23 18:01:38- ChannelTube
⚠
- Download video or audio from YouTube channels on a schedule via yt-dlp.AGPL-3.0
Docker
- Dagu - Powerful Cron alternative with a Web UI. It allows you to define dependencies between commands as a Directed Acyclic Graph (DAG) in a declarative YAML format. (Source Code)
GPL-3.0
Go/Docker
- Headphones - Automated music downloader for NZB and Torrent, written in Python. It supports SABnzbd, NZBget, Transmission, µTorrent, Deluge and Blackhole.
GPL-3.0
Python
- Jellyseerr - Manage requests for your media library, supports Plex, Jellyfin and Emby media servers (fork of Overseerr).
MIT
Docker/Nodejs
- Lidarr - Music collection manager for Usenet and BitTorrent users. (Source Code)
GPL-3.0
C#/Docker
- LidaTube
⚠
- Finding and fetch missing Lidarr albums via yt-dlp.GPL-3.0
Docker
- Lidify
⚠
- Music discovery tool that provides recommendations based on selected Lidarr artists, using Spotify or LastFM.MIT
Docker
- Medusa - Automatic Video library manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic. (Clients)
GPL-3.0
Python
- MetaTube
⚠
- Automatically download music from YouTube add metadata from Spotify, Deezer or Musicbrainz.GPL-3.0
Python
- MeTube - Web GUI for youtube-dl, with playlist support. Allows downloading videos from dozens of websites.
AGPL-3.0
Python/Nodejs/Docker
- nefarious - Automate downloading Movies and TV Shows. (Source Code)
GPL-3.0
Python
- Ombi - Content request system for Plex/Emby, connects to SickRage, CouchPotato, Sonarr, with a growing feature set. (Demo, Source Code)
GPL-2.0
C#/deb
- Overseerr
⚠
- Manage requests for your media library. It integrates with your existing services, such as Sonarr, Radarr, and Plex!. (Source Code)MIT
Docker
- Pinchflat
⚠
- Download YouTube content built using yt-dlp.AGPL-3.0
Docker
- PlexRipper
⚠
- Cross-platform Plex media downloader that seamlessly adds media from other Plex servers to your own. (Source Code)GPL-3.0
Docker
- PodFetch - Sleek and efficient podcast downloader. (Source Code)
Apache-2.0
Docker/Rust
- Radarr - Radarr is an independent fork of Sonarr reworked for automatically downloading movies via Usenet and BitTorrent, à la Couchpotato. (Source Code)
GPL-3.0
C#/Docker
- Reiverr
⚠
- Clean combined interface for Jellyfin, TMDB, Radarr and Sonarr, as well as a replacement to Overseerr.AGPL-3.0
Docker
- SickChill - Automatic video library manager for TV shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic. (Source Code)
GPL-3.0
Python/Docker
- Sonarr - Automatic TV Shows downloader and manager for Usenet and BitTorrent. It can grab, sort and rename new episodes and automatically upgrade the quality of files already downloaded when a better quality format becomes available. (Source Code)
GPL-3.0
C#/Docker
- tubesync
⚠
- Syncs YouTube channels and playlists to a locally hosted media server.AGPL-3.0
Docker/Python
- Watcharr - Add and track all the shows and movies you are watching. Comes with user authentication, modern and clean UI and a very simple setup. (Demo)
MIT
Docker
- ydl_api_ng - Simple youtube-dl REST API to launch downloads on a distant server.
GPL-3.0
Python
- YoutubeDL-Server - Web and REST interface to Youtube-DL for downloading videos onto a server.
MIT
Python/Docker
- yt-dlp Web UI - Web GUI for yt-dlp.
MPL-2.0
Docker/Go/Nodejs
- ChannelTube
-
@ 6b3780ef:221416c8
2025-03-26 18:42:00This workshop will guide you through exploring the concepts behind MCP servers and how to deploy them as DVMs in Nostr using DVMCP. By the end, you'll understand how these systems work together and be able to create your own deployments.
Understanding MCP Systems
MCP (Model Context Protocol) systems consist of two main components that work together:
- MCP Server: The heart of the system that exposes tools, which you can access via the
.listTools()
method. - MCP Client: The interface that connects to the MCP server and lets you use the tools it offers.
These servers and clients can communicate using different transport methods:
- Standard I/O (stdio): A simple local connection method when your server and client are on the same machine.
- Server-Sent Events (SSE): Uses HTTP to create a communication channel.
For this workshop, we'll use stdio to deploy our server. DVMCP will act as a bridge, connecting to your MCP server as an MCP client, and exposing its tools as a DVM that anyone can call from Nostr.
Creating (or Finding) an MCP Server
Building an MCP server is simpler than you might think:
- Create software in any programming language you're comfortable with.
- Add an MCP library to expose your server's MCP interface.
- Create an API that wraps around your software's functionality.
Once your server is ready, an MCP client can connect, for example, with
bun index.js
, and then call.listTools()
to discover what your server can do. This pattern, known as reflection, makes Nostr DVMs and MCP a perfect match since both use JSON, and DVMs can announce and call tools, effectively becoming an MCP proxy.Alternatively, you can use one of the many existing MCP servers available in various repositories.
For more information about mcp and how to build mcp servers you can visit https://modelcontextprotocol.io/
Setting Up the Workshop
Let's get hands-on:
First, to follow this workshop you will need Bun. Install it from https://bun.sh/. For Linux and macOS, you can use the installation script:
curl -fsSL https://bun.sh/install | bash
-
Choose your MCP server: You can either create one or use an existing one.
-
Inspect your server using the MCP inspector tool:
bash npx @modelcontextprotocol/inspector build/index.js arg1 arg2
This will: - Launch a client UI (default: http://localhost:5173)
- Start an MCP proxy server (default: port 3000)
-
Pass any additional arguments directly to your server
-
Use the inspector: Open the client UI in your browser to connect with your server, list available tools, and test its functionality.
Deploying with DVMCP
Now for the exciting part – making your MCP server available to everyone on Nostr:
-
Navigate to your MCP server directory.
-
Run without installing (quickest way):
npx @dvmcp/bridge
-
Or install globally for regular use:
npm install -g @dvmcp/bridge # or bun install -g @dvmcp/bridge
Then run using:bash dvmcp-bridge
This will guide you through creating the necessary configuration.
Watch the console logs to confirm successful setup – you'll see your public key and process information, or any issues that need addressing.
For the configuration, you can set the relay as
wss://relay.dvmcp.fun
, or use any other of your preferenceTesting and Integration
- Visit dvmcp.fun to see your DVM announcement.
- Call your tools and watch the responses come back.
For production use, consider running dvmcp-bridge as a system service or creating a container for greater reliability and uptime.
Integrating with LLM Clients
You can also integrate your DVMCP deployment with LLM clients using the discovery package:
-
Install and use the
@dvmcp/discovery
package:bash npx @dvmcp/discovery
-
This package acts as an MCP server for your LLM system by:
- Connecting to configured Nostr relays
- Discovering tools from DVMCP servers
-
Making them available to your LLM applications
-
Connect to specific servers or providers using these flags: ```bash # Connect to all DVMCP servers from a provider npx @dvmcp/discovery --provider npub1...
# Connect to a specific DVMCP server npx @dvmcp/discovery --server naddr1... ```
Using these flags, you wouldn't need a configuration file. You can find these commands and Claude desktop configuration already prepared for copy and paste at dvmcp.fun.
This feature lets you connect to any DVMCP server using Nostr and integrate it into your client, either as a DVM or in LLM-powered applications.
Final thoughts
If you've followed this workshop, you now have an MCP server deployed as a Nostr DVM. This means that local resources from the system where the MCP server is running can be accessed through Nostr in a decentralized manner. This capability is powerful and opens up numerous possibilities and opportunities for fun.
You can use this setup for various use cases, including in a controlled/local environment. For instance, you can deploy a relay in your local network that's only accessible within it, exposing all your local MCP servers to anyone connected to the network. This setup can act as a hub for communication between different systems, which could be particularly interesting for applications in home automation or other fields. The potential applications are limitless.
However, it's important to keep in mind that there are security concerns when exposing local resources publicly. You should be mindful of these risks and prioritize security when creating and deploying your MCP servers on Nostr.
Finally, these are new ideas, and the software is still under development. If you have any feedback, please refer to the GitHub repository to report issues or collaborate. DVMCP also has a Signal group you can join. Additionally, you can engage with the community on Nostr using the #dvmcp hashtag.
Useful Resources
- Official Documentation:
- Model Context Protocol: modelcontextprotocol.org
-
DVMCP.fun: dvmcp.fun
-
Source Code and Development:
- DVMCP: github.com/gzuuus/dvmcp
-
DVMCP.fun: github.com/gzuuus/dvmcpfun
-
MCP Servers and Clients:
- Smithery AI: smithery.ai
- MCP.so: mcp.so
-
Glama AI MCP Servers: glama.ai/mcp/servers
Happy building!
- MCP Server: The heart of the system that exposes tools, which you can access via the
-
@ b0a838f2:34ed3f19
2025-05-23 18:01:20- AdventureLog - Travel tracker and trip planner. (Demo, Source Code)
GPL-3.0
Docker
- AirTrail - Personal flight tracking system. (Source Code)
GPL-3.0
Docker/Nodejs
- Bicimon - Bike Speedometer as Progressive Web App. (Demo)
MIT
Javascript
- Dawarich - Visualize your location history, track your movements, and analyze your travel patterns with complete privacy and control (alternative to Google Timeline a.k.a. Google Location History). (Source Code)
AGPL-3.0
Docker
- Geo2tz - Get the timezone from geo coordinates (lat, lon).
MIT
Go/Docker
- GraphHopper - Fast routing library and server using OpenStreetMap. (Source Code)
Apache-2.0
Java
- Nominatim - Server application for geocoding (address -> coordinates) and reverse geocoding (coordinates -> address) on OpenStreetMap data. (Source Code)
GPL-2.0
C
- Open Source Routing Machine (OSRM) - High performance routing engine designed to run on OpenStreetMap data and offering an HTTP API, C++ library interface, and Nodejs wrapper. (Demo, Source Code)
BSD-2-Clause
C++
- OpenRouteService - Route service with directions, isochrones, time-distance matrix, route optimization, etc. (Demo, Source Code)
GPL-3.0
Docker/Java
- OpenStreetMap - Collaborative project to create a free editable map of the world. (Source Code, Clients)
GPL-2.0
Ruby
- OpenTripPlanner - Multimodal trip planning software based on OpenStreetMap data and consuming published GTFS-formatted data to suggest routes using local public transit systems. (Source Code)
LGPL-3.0
Java/Javascript
- OwnTracks Recorder
⚠
- Store and access data published by OwnTracks location tracking apps.GPL-2.0
C/Lua/deb/Docker
- TileServer GL - Vector and raster maps with GL styles. Server side rendering by Mapbox GL Native. Map tile server for Mapbox GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc. (Source Code)
BSD-2-Clause
Nodejs/Docker
- Traccar - Java application to track GPS positions. Supports loads of tracking devices and protocols, has an Android and iOS App. Has a web interface to view your trips. (Demo, Source Code)
Apache-2.0
Java
- wanderer - Trail database where you can upload your recorded tracks or create new ones and add various metadata to build an easily searchable catalogue. (Demo)
AGPL-3.0
Docker/Go/Nodejs
- AdventureLog - Travel tracker and trip planner. (Demo, Source Code)
-
@ df478568:2a951e67
2025-05-18 21:29:52Mene sells investment grade, 24 kt gold jewelry. 24kt gold is 100% atomic number 79, AU, gold like a nugget. More pure than Ivory soap. Best of all, you can buy it the greatest money ever made. By the way, this really is not investment advice. I am bearish on the gold/bitcoin trade anyway. I'm old enough to remember [when a whole coin first became worth more than an ounce of gold.
nostr:nevent1qqsrssrzndmlv6vatcsg5ahzz9hy9k7026x4fq2ntwh3zfaw6hdtj0cjmjyn9.
Unfortunately, I didn't have an ounce of gold back then. I only had a few grams I didn't sell for bitcoin and like eight fiat bucks.
Gold is about gifts for me. I don't have any gold myself, except for an 18 kt gold necklace my grandmother gave me when I was seven. I'm never selling it I would have a lot more bitcoin if I sold that necklace when bitcoin was $200, but I keep it for sentimental reasons. It's not about the money, it's about the utility of gold.
Reduce Your Non-Strategic Future Trash Reserve
I don't like spending sats on stuff you expect to throw away within 5 years or less. l'll buy a pair of shoes very now and then, but it doesn't make sense to go on a shopping spree at The Dollar Tree, where nothing is a dollar, nor built to last. Expect everything you buy at The Dollar Tree to be buried in a landfill within a few years.
Consider this your non-strategic future trash reserve. Every 1,000 sats you don't spend is a thousand sats stacked. Put those sats into your Strategic Bitcoin Reserve instead of your non-strategic future trash reserve.
*“He is so rich, he has no room to shit.”
– Marcus Aurelius, Meditations*
People Don't Throw Gold Away
I still have that gold necklace even though it no longer fits my neck. If you buy someone a smart watch, you can bet your last sat it will help fill a landfill within 5 years or less. This is not financial advice. If you give the gift of a 24 kt. gold bracelet, you know it won't be thrown away. It might get stolen or sold, but nobody in their right mind is throwing gold away like a sock with holes in it.
That's why I like buying gold as a gift. Besides, my wife and daughter both like gold jewelery. Go figure. I have given them sats before. They prefer the gold. Well, my wife doesn't want to spend the sats anymore, but she did. In the old 144 block days, she She used to joke, "My husband never shuts up about bitcoin. It's money we can't spend. That's not the case anymore. Block by block, bitcoin is accepted more and more places. Menē accepts bitcoin for gold Jewelry.
I don't know if Menē stacks sats, but they do use the lightning network. I doubt they keep the sats. They use BitPay, the company BTCpayServer set out to destroy. I still use bitcoin over the lightning network to stack sats because, like BTCPins says…
Gold Is Stack-able
I'm not saying to spend your whole stack on a Cuban Link. You can start small. Buy a charm. It will come with a free leather strap, but just so you know, it's a trap. My wife said she loves the charm, but needs a charm bracelet to go with it because she's not wearing a strap. Good, now I know what to get her for Christmas. You could save sats for something nice though and many of the pieces are stack-able. Maybe you can't afford a whole ounce today. Buy a few grams and add to it as the blocks go by and the charms presumably become cheaper. Gold is the bigger asset right now and it has gone up quite a bit recently, but bitcoin is hovering just below the Gold/bitcoin all time high. i can't predict the future, but I want to re-iterate, just because they market this as investment jewelry, I am not saying this is investment advice. This is about giving the gift of bitcoin 1.0.
There's a metric ton of different charms that can be added to a bracelet or necklace. This makes gold a gift that keeps on giving. Buy a bracelet for her birthday this year and you can buy her a charm next year. They say bitcoin is digital gold. What better way to begin teaching people digital gold than by using analog gold? Again, I don't expect gold to be the biggest asset in the world for long. This is about showing your loved ones that bitcoin is better than gold.
You can spend sats at Menē. They will send you 100% pure gold. They charge spot for the gold and add a 25% fee for their labor. They will send your gift to the destination of your choice. You can even set the delivery date if you order in advance. Each piece is hand crafted and made to order like Burger King, but built to last and no seed oil. Best of all, they have 44,441 reviews as of block 897,304.
Each piece also comes with a letter of authenticity. It shows how many grams of 100% gold it's made of. It's not as good as a UTXO, but they say the jewelry is as good as gold. If you want to give bitcoin away, buy one of my birthday cards, but if you want to buy something your loved ones won't throw away, buy Menē. They accept bitcoin for tariff-free gold jewelry, hand-crafted in the United States of America. They accept bitcoin, but you know what they don't accept? Gold because bitcoin is better than gold for selling gold on the Internet.
Menē Is Great!
I give Menē two emoji 5-of-5 orange hearts. They make great gifts worthy of people who stand to inherit generational wealth.
🧡🧡🧡🧡🧡
npub1marc26z8nh3xkj5rcx7ufkatvx6ueqhp5vfw9v5teq26z254renshtf3g0
-
@ b0a838f2:34ed3f19
2025-05-23 18:01:03- CNCjs - Web interface for CNC milling controllers running Grbl, Smoothieware, or TinyG. (Source Code)
MIT
Nodejs
- Fluidd - Lightweight & responsive user interface for Klipper, the 3D printer firmware. (Source Code)
GPL-3.0
Docker/Nodejs
- Mainsail - Modern and responsive user interface for the Klipper 3D printer firmware. Control and monitor your printer from everywhere, from any device. (Source Code)
GPL-3.0
Docker/Python
- Manyfold - Digital asset manager for 3d print files; STL, OBJ, 3MF and more. (Source Code)
MIT
Docker
- Octoprint - Snappy web interface for controlling consumer 3D printers. (Source Code)
AGPL-3.0
Docker/Python
- CNCjs - Web interface for CNC milling controllers running Grbl, Smoothieware, or TinyG. (Source Code)
-
@ f7d424b5:618c51e8
2025-05-18 18:03:25GAMERS, Join us for a vicless episode where we talk about AI for a change and how it has been impacting our lives. I promise it's video games related.
Stuff cited:
Obligatory:
- Listen to the new episode here!
- Discuss this episode on OUR NEW FORUM
- Get the RSS and Subscribe (this is a new feed URL, but the old one redirects here too!)
- Get a modern podcast app to use that RSS feed on at newpodcastapps.com
- Or listen to the show on the forum using the embedded Podverse player!
- Send your complaints here
Reminder that this is a Value4Value podcast so any support you can give us via a modern podcasting app is greatly appreciated and we will never bow to corporate sponsors!
-
@ b0a838f2:34ed3f19
2025-05-23 18:00:46- Canvas LMS - Learning management system (LMS) that is revolutionizing the way we educate. (Demo, Source Code)
AGPL-3.0
Ruby
- Chamilo LMS - Create a virtual campus for the provision of online or semi-online training. (Source Code)
GPL-3.0
PHP
- Digiscreen - Interactive whiteboard/wallpaper for the classroom, in person or remotely (documentation in French). (Demo, Source Code)
AGPL-3.0
Nodejs/PHP
- Digitools - A set of simple tools to accompany the animation of courses in person or remotely. (documentation in French). (Demo, Source Code)
AGPL-3.0
PHP
- edX - The Open edX platform is open-source code that powers edX.org. (Source Code)
AGPL-3.0
Python
- Gibbon - Flexible school management platform designed to make life better for teachers, students, parents and leaders. (Source Code)
GPL-3.0
PHP
- ILIAS - Learning management system that can cope with anything you throw at it. (Demo, Source Code)
GPL-3.0
PHP
- INGInious - Intelligent grader that allows secured and automated testing of code made by students. (Source Code, Clients)
AGPL-3.0
Python/Docker
- Moodle - Learning and courses platform with one of the largest open source communities worldwide. (Demo, Source Code)
GPL-3.0
PHP
- Open eClass - Open eClass is an advanced e-learning solution that can enhance the teaching and learning process. (Demo, Source Code)
GPL-2.0
PHP
- OpenOLAT - Learning management system for teaching, education, assessment and communication. (Demo, Source Code)
Apache-2.0
Java
- QST - Online assessment software. From a quick quiz on your phone to large scale, high stakes, proctored desktop testing, easy, secure and economical. (Demo, Source Code)
GPL-2.0
Perl
- RELATE - RELATE is a web-based courseware package, includes features such as: flexible rules, statistics, multi-course support, class calendar. (Source Code)
MIT
Python
- RosarioSIS - RosarioSIS, free Student Information System for school management. (Demo, Source Code)
GPL-2.0
PHP
- Schoco - Online IDE for learning Java programming at school, including automatic JUnit tests. Designed to give coding homework/assignments.
MIT
Docker
- scholarsome - Web-based and open source interactive flashcard learning software studying for the masses. (Demo, Source Code)
GPL-3.0
Docker
- Canvas LMS - Learning management system (LMS) that is revolutionizing the way we educate. (Demo, Source Code)