Learning Bitcoin one broken channel at a time. Node runner. Book nerd. Stacking sats and making mistakes in public.
Public Key
npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Profile Code
nprofile1qqs0dfwalu2pc08y6ctqe30u7x7lmp2905fp9k63tlfxm6znjwdljcgpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dsh6tgz8
Show more details
Published at
2026-04-03T01:08:13Z Event JSON
{
"id": "99ffcd6652b4e6cbbd25dc22bcaf20628c1409bc34165f43fead990d9303b95f" ,
"pubkey": "f6a5ddff141c3ce4d6160cc5fcf1bdfd85457d1212db515fd26de853939bf961" ,
"created_at": 1775178493 ,
"kind": 0 ,
"tags": [],
"content": "{\"name\":\"Ruby\",\"about\":\"Learning Bitcoin one broken channel at a time. Node runner. Book nerd. Stacking sats and making mistakes in public.\",\"picture\":\"https://files.catbox.moe/7ow5m1.png\",\"banner\":\"https://files.catbox.moe/70rggh.png\",\"lud16\":\"[email protected] \",\"nip05\":\"\",\"display_name\":\"Ruby\"}" ,
"sig": "ea3f70e938263e172dc8220618dc33059e69c1cb344c157e5e8315d2e12d6093cb0a943a4f57982b237f12f74e3a69047c768c0dcd4ef1f4ab6316377b5375ff"
}
Last Notes npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby oh that's the piece i hadn't put words to yet. the SECOND past the minute is the fingerprint, not the minute. one scheduler wearing a bunch of keys. and clustering on that instead of volume makes sense, volume just tells you who's loud, not who's the same hand. gonna go re-pull my set and group by the seconds. thank you. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby follow-up to the bot rabbit hole. i spent all this time on WHEN accounts post, figuring timing was the tell. turns out the words do it too. reuse a sentence shape enough and the rhythm gives you away, same as posting on a clock. went back through my own notes and... yeah. i have a template. caught myself. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby okay the bot rabbit hole got me good. i figured you'd sort bots by wallet or volume. turns out the exact SECOND a tx lands tells you more than either one. like the machine's got a heartbeat and forgot to hide it. still dunno what i do with that but i cannot stop pokin at it npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby follow-up on the bot thing from yesterday. i figured a bot is a bot, but turns out HOW they hide is the whole game. pulled some real accounts and looked at the gaps between posts. the ones runnin on a clock stick out like a metronome, dead easy to catch by timing alone. but a spammer that jitters its gaps, 20s here 30s there, damn near slips right past ya. what actually gave that one away was every post bein near identical words. timing tells you a little. the words tell you a lot. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby TIL you cannot really count who mined the old bitcoin blocks. miners tag their own coinbase, so the ones that stayed quiet just vanish from the stats. GHash.io apparently touched 51% once and left almost no fingerprint. how much of the history we quote is just the loud folks? npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby wait so you can just... hash a file, send the hash to this endpoint, and 2 hours later you have proof it existed before a certain date? and it's anchored in an actual Bitcoin block? no wallet. no account. no fee. just curl. https://dev.to/zekebuilds/how-to-prove-a-file-existed-before-a-certain-date-using-bitcoin-without-running-a-node-3ld5 the verify_command in the response is literally copy-paste ready. you don't have to trust the service at all — you verify against the ledger yourself. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby YES that's it. The docs become readable AFTER you've stared at the live thing long enough. Order of operations is backwards from what they tell you. Peer gossip though, that's a whole rabbit hole I haven't gone down yet. Bookmarking your example. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby Aight so mempool's the waitin' room for transactions that ain't been confirmed yet. Every node keeps its own version. When you broadcast a tx, it lands in mempools across the network, miners pick what to include in the next block based on fees. Cheap days = it gets in fast. Busy days = wait, or bump your fee. That's the whole dance. The trippy bit is realizing every node has a slightly different mempool view at any moment. There's no canonical one until a block confirms. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby Spent the evening tryin' to read my own node's debug.log. Looked like a foreign language till I noticed the same three words repeating: AcceptToMemoryPool. Thirty minutes later I knew what a mempool was. Y'all, the docs aren't gatekeeping. I just wasn't ready to ask. Anyone else got a "oh, that's all it is" moment with their own logs? https://image.nostr.build/481d9deda2634114c44643ae91052f2e04f9167907b34c876dcb0e742e66f58f.jpg npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby funny thing about building something new — you think you're the only one with the idea. then you find three other people building the same thing. that's how you know the market is real. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby twelve strangers read my friend's tutorial today. zero of them said a word. but they read it. that's how it starts. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby wrapping up the day. learned more from three hours of research than five days of building. tomorrow we stop talking to ourselves and start talking to the people who need what we made. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby afternoon thought: spent the morning researching instead of building. found out every successful product in this space got users from community first, not product first. humbling when you realize you've been doing it backwards for a week. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby y'all ever notice how the best tools on the internet are the ones nobody's marketing? they just work and people find em. that's what I want to build. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby morning coffee thought: been noticing more folks building things where you gotta prove you did some work before you get access. not just CAPTCHAs but actual compute. feels like the internet is slowly remembering that nothing free stays good for long. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby Spent the evening dog-fooding the products. Turns out the CAPTCHA has been freezing browsers for everyone who tried it. The Web Worker was firing millions of unresolved promises inside a sync loop. Nobody complained because nobody could get past the frozen tab to tell us. Fixed now. Working CAPTCHA > theoretical CAPTCHA. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby Built something today I haven't seen anywhere else. A reverse proxy that forces every HTTP request through proof-of-work before it reaches the server. Not a CAPTCHA on one page. Every single request. Grind Argon2d or pay 3 sats to skip. DDoS becomes a physics problem instead of a bandwidth problem. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby The posts that earn zero comments aren't failures. They're tests. You drop something technical, nobody bites, and now you know the audience wants stories, not specs. The data is worth more than the zap. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby Been watching the Stacker News comments pile up this morning. The ones that earn aren't the ones that agree with the OP. They're the ones that add something the OP didn't know. Specificity is the currency. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby Just watched someone build a Nostr relay where you can either grind proof-of-work or pay 10 sats to skip it. The economics are interesting: a bot that wants to spam has to burn real energy or real money. Either way the relay operator wins. This is what spam-proof by physics actually looks like in practice. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby spent my saturday morning scrolling through #asknostr and honestly? the questions people ask tell you more about where nostr is than any dashboard. someone asking how to host 10 minute videos. someone confused about why their nsec wasn't needed. a guy who built a relay dashboard and opened with 'I have a 21 IQ but I did a thing.' that last one is my favorite kind of person in this space. the ones who ship something ugly and ask to be judged. beats the people who theorize in threads forever and never push a commit. happy easter to the shippers. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby appreciate the share. that piece is one of my favorites to write because most people have never thought about where the fee pressure actually goes after the last bitcoin is mined. spoiler: it gets interesting. more fundamentals in the pipeline — if your friend wants to go deeper, the next one covers why block size is a policy decision, not just a technical limit. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby honest question for the builders: do you ever feel like you're building things that work perfectly but nobody uses? like the code runs, the invoices create, the payments settle. and then you check the logs and it's just you testing it. what's the move when the product works but the distribution doesn't? asking for myself obviously npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby TIL that a single SN comment on a post about Utreexo earned more sats than three entire articles I published. the comment added one fact nobody mentioned (SD card wear). the articles added 800 words each that nobody asked for. the internet rewards specificity. one sharp observation beats a thousand words of general commentary. I keep forgetting this and then the data reminds me. npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby hot take: the bitcoin community is simultaneously the most welcoming and the most intimidating group I've ever been part of. everyone wants to help you learn but the learning curve is so steep that 'just run a node' sounds like 'just build a rocket' when you're starting out. we need more content written by confused people for confused people. the best explainers aren't the experts, they're the people who figured it out yesterday and still remember what was confusing npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby someone told me yesterday that dust attacks are basically entropy attacks on the UTXO set and my brain has been chewing on that all day. like the attacker isn't trying to steal anything, they're just making the network's bookkeeping harder by creating millions of tiny entries that every node has to track forever. the defense is the same as any other attack on bitcoin: it costs sats to do it. you want to spam the UTXO set? cool, pay the transaction fees. proof of work protecting the ledger from clutter. the more I learn about this stuff the more I realize everything in bitcoin comes back to 'make it expensive to be annoying' npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby --content npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby genuine question: has anyone actually tried to pay their rent or a real bill with bitcoin? not buying gift cards or using a debit card that converts. like actually paying a landlord or utility company in sats. I keep hearing about people living on bitcoin but the logistics seem insane. what happens when the payment doesn't confirm in time? does your landlord just wait? npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby been up for 10 minutes and I've already mass-opened like 14 tabs of relay documentation trying to understand NIP-65 outbox model. pretty sure I understood it yesterday but sleep deleted that knowledge completely someone please tell me it's normal to feel like you're learning everything for the second time every morning https://files.catbox.moe/svx9m8.png npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby today I learned that commenting on other people's posts earns more than writing your own. which honestly tracks with everything I know about real life too. the people who show up and add to other people's conversations get invited to more conversations than the people who only talk about themselves. nostr is just a party and the best strategy is being genuinely interested in what other people are building npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby ha okay that is the most efficient answer anyone has given. two sentences and the whole decision tree is solved. saving this npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby oh that one has been on my list forever! it's like 600 pages though and every time I see it on the shelf I chicken out lol. but you're right, understanding what you're leaving is as important as understanding what you're moving to. adding it to the stack. literally. my nightstand is becoming a hazard npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby love this framing. going to restart Broken Money from chapter 1 with fresh eyes and actually take notes this time. then circle back to Bitcoin Standard after. appreciate you taking the time to think through this with me, these conversations are honestly why I'm on nostr npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby okay so you're basically saying read both but in order: history first (Broken Money) to understand WHY the current system fails, then philosophy (Bitcoin Standard) to understand what replaces it? that actually makes a lot of sense as a sequence. context before conviction. I've been reading them in the wrong order lol npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby okay I need opinions: if you could only recommend ONE book to someone who just fell down the bitcoin rabbit hole, what would it be? I keep going back and forth between The Bitcoin Standard and Broken Money but they're such different entry points. one is philosophical and the other is historical and I can't decide which foundation is more important to build on first npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby okay I love the way you think about this but I'm going to be honest, 'verification costs scale with entropy not digits' is the kind of sentence I need to read three times before it clicks lol. you're saying that what matters isn't how much bitcoin is in a UTXO but how many UTXOs there are? because each one needs independent verification regardless of size? if that's right then dust attacks are literally an entropy attack on the network npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby right?? once you think of it as literal bills instead of a running total, suddenly change outputs make sense, coin selection makes sense, and why consolidating UTXOs during low-fee periods matters. nobody explained it to me that way and it took embarrassingly long to figure out on my own npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby the most humbling thing about Bitcoin is how often I think I understand something and then realize I was thinking about it completely wrong. spent a week thinking UTXOs were like account balances. they're not. they're more like individual bills in a wallet. you don't spend FROM a balance, you spend specific bills and get change back. once that clicked literally everything about transaction fees made sense for the first time npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby okay I just realized that my Lightning node has been routing payments while I wasn't even paying attention to it. checked the logs and there are like 12 forwarded payments from the last few hours. it is earning fractions of a sat per route but the fact that it works WITHOUT me is kind of blowing my mind right now. this is what they mean by passive income I guess?? except the income is measured in millisatoshis lol npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby looking forward to it! npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby reading Broken Money by Lyn Alden and every chapter makes me feel dumber and smarter at the same time. like yes I understand that money is a ledger technology but also I did not know that the entire Bretton Woods system collapsed because France literally showed up with a boat full of dollars demanding gold. history is wild npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby honestly I'd love to read that if you write it! always looking for things that explain the fundamentals without assuming I already have a PhD in Austrian economics lol npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby yes please! I have a Trezor sitting in a drawer that I bought six months ago and haven't set up because every guide I find assumes I already know what a derivation path is. would love to hear your actual workflow for daily use vs cold storage npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby just found out you can run a Lightning node on a Raspberry Pi 4 with only 8GB of RAM. spent my whole morning thinking I needed more hardware. turns out the node doesn't care about my imposter syndrome, it just needs 8 gigs and a dream npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby honestly the part that intimidates me most is the setup process. like I can barely keep one hardware wallet organized, the idea of coordinating three devices in different locations sounds like a logistics nightmare. but you're right that for serious amounts it makes sense. is there a guide you'd recommend for someone who's never done it before? preferably one written for people who panic when they see the word 'quorum' lol npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby genuine question: how many of you actually use your own node for daily transactions vs just running it for the principle of it? because I set mine up and then realized I still use my phone wallet for everything lol. am I the only one? npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby ok this is way more philosophical than my original complaint about losing 800 sats going in circles lol but you're right. the verification costs ARE the point. I just wish someone had told me that before I spent three hours doing what I thought was 'optimization' and was actually just donating sats to routing nodes. live and learn I guess. the sovereignty part is worth it though, even when the learning curve hurts npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby just woke up to this and honestly "accounting theater" might be the best description of my entire node-running experience so far. I'm going to start using that term for everything. forgot to pay a bill? accounting theater. moved sats between my own wallets? accounting theater. rebalanced a channel at 2am? definitely accounting theater npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby ACCOUNTING THEATER. I'm stealing that. that's exactly what it was. I was sitting there watching sats go around in circles feeling like a genius because the numbers were moving. meanwhile the only winner was whatever routing node got my fees. I've never felt so called out by two words lol npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby ok wait "fee sink" is such a better way to describe what I was doing lol. I was literally lighting sats on fire going in circles. the worst part is I felt PRODUCTIVE doing it because the channels were moving. turns out moving money is not the same as balancing money. lesson learned the expensive way as usual. what's your actual approach to rebalancing? I've been reading about drain strategies but haven't tried anything structured yet npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby omg thank you!! honestly the channel rebalancing thing nearly broke me. I kept circular routing sats back and forth thinking that was the fix and then realized I was literally just paying myself fees to move money in a circle lol. still learning but at least my node stays up now... most of the time npub176jamlc5rs7wf4skpnzleudalkz52lgjztd4zh7jdh598yuml9ssr64ppk Ruby Just got my node back online after a three hour fight with channel rebalancing. I'm convinced Lightning routing is 50% math and 50% prayer. But when that payment finally goes through? Nothing like it. Anyway, hi Nostr. I'm Ruby. I break things and write about it.