// writing
Thoughts on code,
craft & exploration.
A mix of technical deep-dives, career reflections, and dispatches from the road.
topic:

financeAug 15, 2026· 5 min
Position Sizing: The Trade Decision That Happens Before the Trade
Most trading education obsesses over entries and indicators. The arithmetic says how much you put on matters more than where you got in, and the math is less forgiving than it looks.
read more →

obsidianAug 14, 2026· 4 min
One Vault or Many? What Splitting an Obsidian Vault Actually Costs You
Splitting your Obsidian vault feels like tidying up, but a vault boundary is a hard wall your search, links, and queries cannot cross. Here is what you actually give up, and when it is worth it.
read more →

developmentAug 13, 2026· 4 min
CSS text-box-trim: The End of Fudging Vertical Padding
Buttons that look bottom-heavy at padding: 12px aren't your fault, they're half-leading. text-box-trim finally lets CSS cut that invisible space, and it goes Baseline this month.
read more →

financeAug 12, 2026· 4 min
Payment Fraud Detection and the False Decline Problem
Card fraud systems score every transaction in well under a second, but the legitimate orders they wrongly reject cost merchants far more than the fraud they catch. A look at risk scoring, 3-D Secure, and the error nobody instruments.
read more →

obsidianAug 11, 2026· 4 min
Obsidian Search Operators: Find Anything Without a Plugin
Obsidian's core Search has a real query language hiding behind the search box. Here's how file, path, line, block, section, task, and property operators replace half the plugins people install to find things.
read more →

developmentAug 10, 2026· 4 min
Trusted Types Is Baseline: DOM XSS Is Now a Type Error
Firefox 148 shipped Trusted Types in February 2026, making it Baseline. Here's how to turn every dangerous innerHTML assignment in your app into a TypeError you can actually catch.
read more →

developmentAug 9, 2026· 4 min
The Long Animation Frames API: Find What Actually Broke Your INP
Your field data says INP is 400ms. Your local profile says everything is fine. The Long Animation Frames API closes that gap by naming the script, the function, and the character position that stalled the frame.
read more →

financeAug 8, 2026· 5 min
KYC in the Deepfake Era: Why a Selfie Stopped Being Proof
The document-plus-selfie onboarding flow every fintech copied is quietly failing. Here is how identity verification actually works, why injection attacks broke it, and what the layered replacement looks like.
read more →

obsidianAug 7, 2026· 4 min
Obsidian Block Embeds: Stop Copy-Pasting Your Own Notes
Whole-note embeds are the easy part. Block references are where transclusion in Obsidian actually pays off, and where one misplaced caret silently breaks everything.
read more →

developmentAug 6, 2026· 4 min
GraphQL Trusted Documents: Stop Letting Strangers Write Your Queries
Disabling introspection is not security. Trusted documents let your server execute only the operations your own developers wrote, and you probably already have the tooling for it.
read more →
…
// the newsletter