Skip to content
// writing

Thoughts on code,
craft & exploration.

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

How US Regulators Sorted Crypto Into Five Buckets thumbnail
financeAug 26, 2026· 5 min
How US Regulators Sorted Crypto Into Five Buckets
For years, whether a token was a security came down to a lawyer's read of a 1946 orange grove case. In 2026 the SEC finally published a taxonomy, and then proposed rules to go with it.
read more →
Writing an Obsidian Plugin Is Smaller Than You Think thumbnail
obsidianAug 25, 2026· 4 min
Writing an Obsidian Plugin Is Smaller Than You Think
Most people patch around a missing Obsidian feature with a Templater script and a CSS snippet. The plugin API is often the shorter path, and the surface area you actually need is tiny.
read more →
Next.js Partial Prefetching: One Shell Per Route, Not One Per Link thumbnail
developmentAug 23, 2026· 4 min
Next.js Partial Prefetching: One Shell Per Route, Not One Per Link
Next.js 16.3 stops firing a prefetch request for every link in the viewport and caches one reusable loading shell per route instead. Here's what changes and how to turn it on.
read more →
Index Funds vs. Active Management: Reading the Scorecard Honestly thumbnail
financeAug 22, 2026· 4 min
Index Funds vs. Active Management: Reading the Scorecard Honestly
The SPIVA scorecards are the most-cited evidence in the passive-versus-active debate. Here is what they actually measure, why survivorship and persistence do more work than any single year's headline, and where the argument gets genuinely interesting.
read more →
Obsidian Hotkeys and the Command Palette: Building a Keyboard-First Vault thumbnail
obsidianAug 21, 2026· 5 min
Obsidian Hotkeys and the Command Palette: Building a Keyboard-First Vault
Most Obsidian friction is the round trip from keyboard to mouse and back. Here is how the command palette, a short list of hotkeys, and a little usage data get rid of it.
read more →
Declarative Partial Updates: Out-of-Order HTML Streaming Without a Framework thumbnail
developmentAug 20, 2026· 4 min
Declarative Partial Updates: Out-of-Order HTML Streaming Without a Framework
Chrome 148 ships experimental support for filling HTML placeholders out of order and streaming markup into the DOM. Here's how the new template-for and streamHTML APIs work, and what they replace.
read more →
How DeFi Lending Works: Health Factors, Rate Curves, and Liquidation Bots thumbnail
financeAug 19, 2026· 5 min
How DeFi Lending Works: Health Factors, Rate Curves, and Liquidation Bots
On-chain lending replaces credit checks with collateral, loan officers with a utilization curve, and collections with bots. Here is what each of those swaps actually costs you.
read more →
Obsidian Workspaces: Stop Rebuilding Your Layout Every Time You Switch Tasks thumbnail
obsidianAug 18, 2026· 4 min
Obsidian Workspaces: Stop Rebuilding Your Layout Every Time You Switch Tasks
Workspaces is a core Obsidian plugin that saves your entire pane layout under a name and restores it in one command. Here's how to design layouts worth saving, and the gotcha that trips everyone up.
read more →
React's Activity Component: Hide UI Without Losing Its State thumbnail
developmentAug 17, 2026· 4 min
React's Activity Component: Hide UI Without Losing Its State
React 19.2's Activity component hides a subtree instead of unmounting it, so state, scroll position, and DOM survive the round trip. Here's how it behaves, what it does to your Effects, and where it costs you.
read more →
revalidateTag vs updateTag: Next.js Split Cache Invalidation in Two thumbnail
developmentAug 16, 2026· 4 min
revalidateTag vs updateTag: Next.js Split Cache Invalidation in Two
Next.js 16 gave cache invalidation two different functions instead of one, and the split maps to a real distinction: content that can lag versus content the user just typed.
read more →
// the newsletter
Don't miss the next one