Skip to content
// writing

Thoughts on code,
craft & exploration.

A mix of technical deep-dives, career reflections, and dispatches from the road.

topic:
Obsidian Search Operators: Find Anything Without a Plugin thumbnail
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 →
Trusted Types Is Baseline: DOM XSS Is Now a Type Error thumbnail
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 →
The Long Animation Frames API: Find What Actually Broke Your INP thumbnail
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 →
KYC in the Deepfake Era: Why a Selfie Stopped Being Proof thumbnail
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 →
Obsidian Block Embeds: Stop Copy-Pasting Your Own Notes thumbnail
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 →
GraphQL Trusted Documents: Stop Letting Strangers Write Your Queries thumbnail
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 →
Self-Custody in 2026: The Seed Phrase Is No Longer the Only Way thumbnail
financeAug 5, 2026· 4 min
Self-Custody in 2026: The Seed Phrase Is No Longer the Only Way
Twelve words on a piece of paper used to be the whole story of crypto self-custody. Passkeys, MPC, and smart accounts have quietly changed what that phrase actually protects.
read more →
Inline Dataview Queries: Live Numbers Inside Your Notes thumbnail
obsidianAug 4, 2026· 4 min
Inline Dataview Queries: Live Numbers Inside Your Notes
Dataview code blocks give you tables. Inline queries give you a single live value in the middle of a sentence, which turns out to be the feature you reach for far more often.
read more →
CSS contrast-color(): Let the Browser Pick Your Text Color thumbnail
developmentAug 3, 2026· 4 min
CSS contrast-color(): Let the Browser Pick Your Text Color
The contrast-color() function went Baseline in April 2026 and kills the luminance-math helper every design system eventually writes. Here is how it works, the mid-tone problem nobody warns you about, and how to work around it.
read more →
The Sanitizer API: Safe HTML Injection Without DOMPurify thumbnail
developmentAug 2, 2026· 4 min
The Sanitizer API: Safe HTML Injection Without DOMPurify
The browser can now strip XSS from an HTML string during parsing. Here's how setHTML works, why its config can only narrow the allowlist, and how to ship it before Safari catches up.
read more →
// the newsletter
Don't miss the next one