Danny Holloran·2d agonode:sqlite: The Database That Already Ships With NodeEvery small Node project hits the same fork in the road. You need to persist something: a queue of jobs, a cache of API responses, the…
Danny Holloran·4d agoObsidian as Your Default Markdown App: Opening Files Outside the VaultFor most of Obsidian’s life, double-clicking a stray README.md was a small act of betrayal. Obsidian was the best Markdown app on your…
Danny Holloran·5d agoLaravel 13 Vector Search: Semantic Queries Without a Search ServiceA user types “cheap places to stay near the beach” into your help center search, and your LIKE '%beach%' query returns an article about…
Danny Holloran·6d agoReact’s browser() API: Opt Out of SSR Without the Mounted-State HackEvery server-rendered React app eventually grows a component that just can’t render on the server. It reads a draft from localStorage…
Danny Holloran·Nov 8Proof of Reserves: What an Exchange’s Merkle Tree Can and Can’t ProveWhen FTX collapsed in November 2022, customers learned the hard way that a balance on an exchange screen is a promise, not a possession…
Danny Holloran·Nov 8LLM Rate Limits: Your Retry Loop Is the Easy PartThe first time an LLM feature hits real traffic, the logs fill with 429s and somebody writes a retry loop. It usually looks like the one…
Danny Holloran·Nov 6Writing an MCP Server: The Tool Description Is the Whole APIMost first MCP servers look the same: someone wraps their existing REST API, exposes one tool per endpoint, ships it, and then watches the…
Danny Holloran·Nov 5Oxlint JS Plugins: Your Custom ESLint Rules No Longer Keep You on ESLintEvery team that has looked at Oxlint has hit the same wall. The benchmarks are great, the built-in rules cover most of what you use, and…
Danny Holloran·Nov 4GraphQL @defer: Stop Letting Your Slowest Field Set Your Load TimeThe pitch for GraphQL is that a page asks for everything it needs in one request. The catch nobody puts on the slide: that one request is…
Danny Holloran·Nov 4Your Bitcoin Wallet Has No Balance: UTXOs, Change, and Why Fees Ignore the AmountOpen almost any Bitcoin wallet and you’ll see a single number at the top: your balance. It’s a comforting fiction. The Bitcoin ledger has…