Javascript blog posts
7/22/2026 - 7/31/2026
-
What the Browser Platform Gained Since React Launched
Import maps, Web Components, the Observer APIs, and View Transitions: everything the browser platform gained since React launched.
-
Everything Vanilla JavaScript Has Gained Since React Launched
Every ECMAScript edition from ES2015 to ES2026, plus the browser APIs and Node.js built-ins that landed while the framework conversation moved on.
-
Alpine.js and Laravel Livewire Are Sibling Projects
A bug report from a Laravel Blade project led here: Alpine.js and Livewire turn out to be sibling projects, sharing a creator and a real, named stack.
-
Custom Shopify Themes Converge on Alpine.js
Alpine.js shows up across independent Shopify starter themes for a real reason. Here’s why it fits Online Store 2.0, with real production examples.
-
Why Alpine.js Has No Real Autocomplete (AI Doesn’t Fix It)
AI autocomplete doesn’t replace structural tooling for Alpine.js, it needs it. Real hallucination research, and why GitHub added LSP to Copilot itself.
-
Alpine.js Tools v1.0-v1.5: Three Bugs, Three Fixes
From v1.0.0 to v1.5.0, Alpine.js Tools gained diagnostics, Go to Definition, and plugin support in VS Code, plus three bugs fixed along the way.
-
Why I Migrated From Next.js to Express in 2026
The migration that made Express the default for every Node stack I run: the bugs that started it, the research that held up, and four months of monitoring.
-
Why Next.js Has 13x More CVEs Than Express
Next.js carries 64 catalogued advisories to Express’s 5, counted the same way on the same day. The severity split matters more than the count.
-
Why Server-Rendered Templates Don’t Need a Build Step
Server-rendered templates compile just-in-time, no separate build phase. How EJS caching works, what it costs, and when a build step still earns its place.
-
Next.js Hides Its Cache, Redis Doesn’t: The Observability Gap
Redis reports hit rate, misses and evictions in one command. Self-hosted Next.js gives you a per-response header and leaves the aggregation to you.
-
Why React SSR Blocks Node’s Event Loop (SSR via Templating Doesn’t)
React’s SSR APIs run synchronous CPU work on Node’s single thread, from renderToString through RSC serialization. What blocks, and what streaming fixes.
-
Why Alpine.js Replaced React for Content-Driven Sites
Measured from the shipped files: Alpine’s CDN build is 16.7kB gzipped against 47kB for React plus React DOM. Where that gap matters, and where it does not.