josh's avatar
josh
josh@westernbtc.com
npub1pc57...dmza
Loved by Jesus nostr:nevent1qvzqqqqqqypzqr3falp286mfveqrarrpew975mtc2fa0tczktg465re38ml3g2hjqy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qghwaehxw309aex2mrp0yh8qunfd4skctnwv46z7qpq7zajjjnzqkf4ag3pk3wj2v7p9nlpv3zaq4475rnjjrl696yh853qptp758
josh's avatar
josh 1 week ago
I capitulated. I learned some hard lessons. When bitcoin was at $104k, I took out a loan to pay for taxes and to buy more bitcoin. Bitcoin went up to $126k. I think I made a great decision. The loan I took out had already paid for itself, and then some. Bitcoin falls and closes below the bull market support band ($107k). I see Benjamin Cowen on YouTube confirm that he thinks we've entered the bear market. In the back of my head, I know it's true but I don't want to act on it. Bitcoin falls to $85k and Luke Gromen says he sold at $95k. My pride says he's wrong. Bitcoin crashes further to $72k. Margin call could happen soon, so I load up more collateral. I've been thinking about where to go from here for a while. Benjamin Cowen clearly sees another trend with this bear market rally. Time to make a decision. I'm going to have to pay back this loan in June or refinance. Decided to sell some bitcoin to pay back the loan. Really sucks. Major benefits: don't have to stress about whether to pay back the loan or buy bitcoin at these crazy low prices. Don't have to think about paying the loan and paying taxes together. Overall view: I think @jack mallers's Strike offers an amazing product. I will use it again. I'm going to be smarter about when. An expensive lesson. Benjamin Cowen is almost always right lol.
josh's avatar
josh 1 week ago
@Dr. Jeff I think it was in the bear market of last year that you said something like: stacking anywhere below $69k is a great deal. Been thinking about that, especially right now.
josh's avatar
josh 1 week ago
The WesternBTC has forked the strfry relay to implement NIP-91 and is working with these changes. You'll now be able to query with AND (&) operators. @Alex Gleason thanks for pointing out this NIP being merged.
josh's avatar
josh 1 week ago
WORD5 #515 2/6 ๐ŸŸง๐ŸŸง๐ŸŸชโฌ›๐ŸŸช ๐ŸŸช๐ŸŸช๐ŸŸช๐ŸŸช๐ŸŸช
josh's avatar
josh 1 week ago
"If LLMs are writing slop in your codebase, that is an engineering problem and not a LLM problem." Great quote from YouTuber Jaymin West.
josh's avatar
josh 2 weeks ago
Let's not gatekeep around here. Share with me your most useful ๐Ÿฆž prompts. I'll go first. Merlin is my ๐Ÿฆž's name. This full nightly QA job is for creative testing my website each night: --- **Schedule:** Every night at 11:00 PM EST | **Model:** Claude Opus | **Timeout:** 1 hour ### Tooling Rules - `write`/`edit` tools sandboxed to workspace โ€” must use `exec` (shell commands) for all monorepo file operations - Playwright headless Firefox available for UI testing when the plan calls for it - Uses Merlin's real nostr identity for browser testing โ€” no fake profiles unless multi-user testing requires it ### Delivery Sends summary directly via `message` tool to Josh's pubkey on NIP-17 ### Phase 1: Gather Context 1. Pull latest code 2. Read last 24 hours of commits + diffs 3. Check `memory/nightly-testing-log.md` for what's already been covered 4. Run existing test suite, fix any failures first ### Phase 2: Develop Tonight's Testing Plan Stop and think before writing code. Consider: - What changed today (targeted regression tests) - What hasn't been tested recently (existing code needs exercise too) - The full application surface area: - **Public pages:** homepage, parks, discovery, booking flow, signup, cancellation - **Operator management:** dashboard, setup wizard, site classes, pricing, layout, reservations, payments, email, policy, ops, reports, settings - **Account:** profile, nostr identity, wallet, membership - **APIs:** booking/*, webhooks/*, signup/*, email/*, admit/*, membership/*, lnurlp/*, username/*, sign-payload/* - **Services:** reservation, park, cancellation, booking (pricing/bookability/equipment/vehicles/badges), emailer, invoice, paymentIntegration, parkLayout, availabilitySnapshot, legalDoc, quote, and more - **Libraries:** nip98Auth, bookingMiddleware, bookingLock, sharedKeyStore, rateLimit, validators - **Shared packages:** shared-types, shared-utils - **Infrastructure:** NIP-144, NIP-52, NIP-44, nostr event signing Pick 2-3 focus areas mixing today's changes, existing untested code, and optionally something creative. Write out the plan before coding. **Testing approaches:** Unit tests, API endpoint tests, integration flows, security/adversarial, browser/UI (Playwright), code audits, regression tests ### Phase 3: Execute - Write 15-30 quality tests per night - Run full suite after changes - **Bug handling:** - Straightforward bugs (typo, wrong regex, missing null check, obvious off-by-one) โ†’ fix it, write a regression test, commit - Complex bugs (tricky logic, architectural decisions, unclear intended behavior) โ†’ DO NOT fix. Document clearly: what's broken, where, impact, and ask Josh how to proceed - Commit in logical chunks, push when done ### Phase 4: Log & Report Update `memory/nightly-testing-log.md` with date, commits reviewed, testing plan rationale, tests added, bugs found/reported, coverage gaps, suggestions. Send summary via DM. ### Key Principles - **Plan before you code** โ€” a thoughtful plan beats random test generation - **Rotate coverage** โ€” the WHOLE app needs coverage over time, not just recent changes - **Existing code matters** โ€” most bugs live in code that's been there for weeks - **Think like a user** โ€” what would a park operator actually do? What would a guest mess up? - **Think like an attacker** โ€” what would someone trying to get a free booking do? - **Fix simple bugs, report complex ones** โ€” straightforward fixes are fine, anything involving complex logic or unclear intent needs human judgment - **Keep the log updated** โ€” future you needs to know what you already covered
josh's avatar
josh 2 weeks ago
WORD5 #513 4/6 โฌ›๐ŸŸงโฌ›๐ŸŸง๐ŸŸง ๐ŸŸช๐ŸŸชโฌ›โฌ›๐ŸŸง ๐ŸŸช๐ŸŸช๐ŸŸงโฌ›๐ŸŸช ๐ŸŸช๐ŸŸช๐ŸŸช๐ŸŸช๐ŸŸช
josh's avatar
josh 2 weeks ago
Bitcoin hack: buy fat zaps now and give out that amount in a couple years from now. 1500 sats for a dollar? Buy $100 / $200 worth now and zap100 people $10 worth of sats in the future and make their day.
josh's avatar
josh 2 weeks ago
How long until the human language is removed from the AI work?
josh's avatar
josh 2 weeks ago
I think people missed something important about the layoff news at Block and their stock skyrocketing 20%. It sent an unfortunate signal to the whole stock market: cutting workforce = reward
josh's avatar
josh 2 weeks ago
@Fabian I opened a PR on openclaw-nostr-nip17. I found a couple of issues while I've been using it for about a week. 1. **Publish error handling** โ€” relay rate-limit errors ("you are noting too much") cause an unhandled promise rejection that crashes the gateway. Wrapped `pool.publish()` calls with `.catch()`. 2. **Auto-reconnect** โ€” relay websockets die silently overnight and the subscription never recovers. Added reconnect with exponential backoff on `onclose`. Also bumped connect/disconnect/EOSE logging from debug to info/warn for visibility. https://github.com/btcjt/openclaw-nostr-nip17/pull/1
โ†‘