// writing
Writing — Page 2
A mix of technical deep-dives, career reflections, and dispatches from the road.

obsidianAug 28, 2026· 4 min
DataviewJS: The Escape Hatch When Bases and DQL Run Out
Bases handles most vault dashboards now, and Dataview's query language covers the rest. DataviewJS is what you reach for when neither can express the thing you actually want.
read more →

developmentAug 27, 2026· 5 min
The Web Locks API: One Tab Does the Work, the Rest Wait
Your app already runs in five tabs at once, and they all think they are in charge. The Web Locks API gives the browser a real mutex so only one of them does the work.
read more →

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 →

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 →

developmentAug 24, 2026· 4 min
Form-Associated Custom Elements: Web Components That Belong in a Form
Custom elements can be real form controls. Here is how formAssociated, ElementInternals, and setValidity retire the hidden-input hack for good.
read more →

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 →

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 →

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 →

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 →
// the newsletter