Just be careful with small amounts onchain in case fees spike again in future
There's still the actual friction of running a lightning node and managing liquidity
Sideshift folks for e.g. gave up and removed it from their platform when the operational headache and support tickets were more of a burden than the benefits of offering the option
We recently released Boltz Backend v3.7.3 "Rewrite in Rust" 🤓
Highlights:
- Introduction of the rust sidecar, a Node.js child process greatly improving performance of resource-intensive tasks
- OpenTelemetry tracing, improved Prometheus metrics
- Swap status updates via Webhooks
- Custom description hashes for invoices of Reverse Swaps
- Several EVM features for our upcoming Rootstock integration
For the full rundown check the release notes: https://github.com/BoltzExchange/boltz-backend/releases/tag/v3.7.3
Nice one with the OpenTelemetry add
https://github.com/BoltzExchange/boltz-backend/commit/084f701fc7bb55254c91fdf7b92b754c2d7ce76a
Proof of zap, lfg 🚀


I forgot about this gem from nostr:nprofile1qqst7gmku9a6fmpxn5g0ejvk536xk3g322lfqv06frn5257au4fxhnspz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsqwxvj7🔥 #bitcoin
Can't zap your zebedee address if we're outside the US 🥲
From ChatGPT
In programming, naming conventions often vary depending on the style, context, or language. Here are the most common naming conventions, including `SCREAMING_SNAKE_CASE`:
1. **PascalCase (UpperCamelCase)**:
- Every word starts with a capital letter, and there are no separators.
- Example: `MyVariableName`, `LoanManager`, `UserProfile`.
2. **camelCase (LowerCamelCase)**:
- The first word starts with a lowercase letter, and each subsequent word starts with an uppercase letter.
- Example: `myVariableName`, `loanManager`, `userProfile`.
3. **snake_case**:
- All lowercase letters with words separated by underscores.
- Example: `my_variable_name`, `loan_manager`, `user_profile`.
4. **SCREAMING_SNAKE_CASE**:
- All uppercase letters with words separated by underscores.
- Example: `MY_VARIABLE_NAME`, `LOAN_MANAGER`, `USER_PROFILE`.
- Often used for constants.
5. **kebab-case (dash-case or hyphen-case)**:
- All lowercase letters with words separated by hyphens.
- Example: `my-variable-name`, `loan-manager`, `user-profile`.
- Commonly used in URLs or CSS class names.
6. **kebab-case (SCREAMING-KEBAB-CASE)**:
- Similar to `kebab-case` but with uppercase letters and hyphens.
- Example: `MY-VARIABLE-NAME`.
7. **UPPERCASE**:
- All uppercase letters with no word separators.
- Example: `MYVARIABLENAME`.
8. **Train-Case**:
- Similar to `PascalCase`, but with hyphens separating the words.
- Example: `My-Variable-Name`.
9. **dot.case**:
- All lowercase letters with words separated by periods.
- Example: `my.variable.name`, `loan.manager`.
10. **Title Case**:
- All major words start with a capital letter, typically used in headings.
- Example: `My Variable Name`, `Loan Manager`.
Each of these cases has its own use depending on the context, language, or framework. For example, `SCREAMING_SNAKE_CASE` is often used for constants in many programming languages, while `camelCase` is common for variable and function names in languages like JavaScript and Rust.
nostr:note1ysuv3mntt29lqmesld8wvngkeueje90e3f38rp877p9c69aqq62suztaga
Yea same issue with me, I ended up using this one instead
Might as well share the entire chat
https://chatgpt.com/share/c985bd60-ec2b-411c-8bf2-763b9daec38e
Btw it's a pretty decent analogy. I followed it up with one more prompt
**Prompt:**
How is a mutable borrow different from a move in this analogy
**Response:**
Great question! Here's how a mutable borrow differs from a move in the toy analogy:
- **Move (Ownership Transfer):** When you **move** the toy to your friend, you're giving them the toy entirely. They now own it, and you can't access it at all until they give it back (if they ever do). You don't control it anymore. In Rust, this is like transferring ownership, and you lose access to the value.
- **Mutable Borrow:** When you **mutably borrow** the toy, you're letting your friend **temporarily** play with it, but you still own it. They can change or modify the toy, but they have to return it to you once they’re done. During this time, you can't touch the toy (nor can anyone else), but you will get it back once they finish. In Rust, this allows the borrower to modify the value, but you still have ownership and will regain full control later.
In short:
- With a **move**, you permanently hand over control.
- With a **mutable borrow**, you temporarily let someone else use and modify the item, but you retain ownership.
So, in the analogy:
- **Move** = "Here, take the toy, it's yours now."
- **Mutable Borrow** = "You can play with the toy for a bit, but give it back when you're done."
Fed ChatGPT your note and got this back:
Your analogy is almost right, but it could use a bit of clarification regarding ownership and borrowing, especially in the context of mutability.
Here’s an improved version:
"Imagine you have a toy that you either keep for yourself or sometimes lend to a friend. If you fully give the toy to a friend (ownership transfer), it's theirs now, and you can’t touch it anymore unless they give it back. However, if you just let them borrow the toy, you still own it. The borrow checker makes sure that if your friend is just looking at the toy (immutable borrow), you can also look at it at the same time. But if your friend is actively playing with it (mutable borrow), you can’t touch it at all while they have it, and nobody else can borrow it either. The borrow checker ensures that there’s no confusion or conflicts over who’s using the toy and how."
This explains both ownership and borrowing (both mutable and immutable) a bit more clearly while still keeping the analogy simple.
Looks like there's no public channels on your node and no route hints in your invoices if the channels are private
There's supposed to be a setting to enable hop hints for private channels in btcpay if you do have private ones
This sounds like Ethereum logic tbh 😳
Oof yea channel management is tricky. I've been meaning to try an Alby Hub + phoenixd combo to get around this. I think nostr:nprofile1qqsrxra3gv0lnkxz2pcxh0xuq9k4f9dr7azwq3aypqtnay4w0mjzmtqpz4mhxue69uhk2er9dchxummnw3ezumrpdejqzrthwden5te0dehhxtnvdakqz8thwden5te0dehhxarj94c82c3wwajkcmr0wfjx2u3wdejhghqs4nu and they have been trying to get folks to help package this for umbrel/start9 etc and Raspiblitz may already have it (cc nostr:nprofile1qqs24sraj5yfee4d7z9ez4k58sdy4dv5ccfsklwtztkpnyqgckqe5tcpyfmhxue69uhk6atvw35hqmr90pjhytngw4eh5mmwv4nhjtnhdaexcep0qyw8wumn8ghj7mn0wd68ytngw4eh5mmwv4nhjtnhdaexcep04cexmf?)
Also, what about cashu options like nostr:nprofile1qqstxwlea9ah3u6kjjszu6a7lrnhqkfh8eptp2z6v0e9558tlkkl2rgpzemhxue69uhk2er9dchxummnw3ezumrpdejz7qgwwaehxw309ahx7uewd3hkctcpremhxue69uhkummnw3ez6ur4vgh8wetvd3hhyer9wghxuet59u4kl3vp? They're not self-custodial, but there's pretty good privacy guarantees for small amounts, and you can sweeping to self-custody once your balance gets to a certain level
Oof yea channel management is tricky. I've been meaning to try an Alby Hub + phoenixd combo to get around this. I think nostr:nprofile1qqsrxra3gv0lnkxz2pcxh0xuq9k4f9dr7azwq3aypqtnay4w0mjzmtqpz4mhxue69uhk2er9dchxummnw3ezumrpdejqzrthwden5te0dehhxtnvdakqz8thwden5te0dehhxarj94c82c3wwajkcmr0wfjx2u3wdejhghqs4nu and they have been trying to get folks to help package this for umbrel/start9 etc and Raspiblitz may already have it (cc nostr:nprofile1qqs24sraj5yfee4d7z9ez4k58sdy4dv5ccfsklwtztkpnyqgckqe5tcpyfmhxue69uhk6atvw35hqmr90pjhytngw4eh5mmwv4nhjtnhdaexcep0qyw8wumn8ghj7mn0wd68ytngw4eh5mmwv4nhjtnhdaexcep04cexmf?)
Get yourself a lightning address and add it to your profile too

