Blog

Thoughts on web development, tools, and things I'm learning.

May 6, 2026 · 5 min read

Chrome 148: Container Queries Without Types, AI in the Browser, and SharedWorker's Comeback

Chrome 148 ships bare-name container queries, the new revert-rule keyword for CSS conditionals, on-device AI with the Prompt API, SharedWorker's return to Android, PWA manifest localization, and a smarter Web Authentication Immediate UI mode. Plus: loading=lazy for video and audio, text-decoration-skip-ink: all, and drag-and-drop spec fixes.

May 5, 2026 · 7 min read

How I Learned to Stop Worrying and Love SVG: A Hands-On Guide

A practical intro to SVG for designers and developers: viewBox explained without jargon, the only 3 shapes you actually need, path commands demystified, and the stroke-dasharray trick that impresses everyone.

Apr 21, 2026 · 4 min read

Firefox 150: Smarter Images, Richer CSS, and a Voice for Screen Readers

Explore what's new in Firefox 150 for web developers: HTML sizes='auto' for lazy-loaded responsive images, CSS color-mix() with unlimited colors, light-dark() with images, media playback pseudo-classes, animation-range for scroll-driven animations, revert-rule keyword, and the developer-friendly ariaNotify() API for accessibility.

Apr 16, 2026 · 6 min read

Mastering Nginx Log Analysis: 10 Essential CLI Commands for Developers

Stop guessing what's wrong with your server. Learn 10 practical command-line techniques to analyze Nginx access logs, find slow endpoints, block bad bots, and detect DDoS patterns — all without installing third-party tools.

Apr 8, 2026 · 4 min read

Chrome 147: Widget Morphing, Smart Contrast, and Rust Under the Hood

Chrome 147 brings scoped View Transitions for individual elements, the native CSS contrast-color() function for automatic accessibility, and the long-awaited Event.pseudoTarget property for detecting clicks on pseudo-elements. Plus: border-shape, honest border-width computed values, and a Rust-based XML parser under the hood.

Apr 1, 2026 · 8 min read

Git for Beginners: How I Stopped Breaking Into a Cold Sweat at the Word "Merge Conflict"

A plain-language intro to Git for new developers: what version control is, how to install it, and the commands you need to commit, branch, and collaborate without the jargon.