Cross-origin isolation is a security feature that allows web applications to securely use powerful features like SharedArrayBuffer and high-resolution timers performance.now. To protect user data from side-channel attacks like Spectre, browsers disable these features by default. By enabling cross-origin isolation, you prove to the browser that your application safely manages cross-origin resources, granting you access to these advanced APIs. This guide explores what cross-origin isolation headers are, how they function, the impact of misconfiguration, and how to safely implement and test them. Why is Cross-Origin Isolation Necessary? Modern browsers load resources from multiple origins into the same process. While convenient,...
Standard YouTube embeds are notoriously heavy. A single iframe can download over 1MB of JavaScript and block the main thread, significantly hurting the Largest Contentful Paint LCP. Furthermore, if dimensions are not strictly reserved, the embed causes Cumulative Layout Shift CLS as it loads. This post documents the process of building a production-grade embed component that solves these issues using Web Components and React. The core problems Developers must address three primary issues with the standard YouTube embed: Cumulative Layout Shift CLS : When an iframe loads, it often starts with zero height and then "pops" open to its full...
Until now, creating masonry layouts on the web has required either CSS hacks or JavaScript libraries. While functional, this approach introduces additional dependencies and potential performance issues. In 2025, the CSS Working Group began discussing native support for masonry. Following contentious debates over multiple proposals, the grid-lanes syntax reached consensus in early 2026 and is currently being prototyped in browsers. This post covers grid lanes, how they function, and how to integrate them with traditional grids and subgrids for complex layouts. The problem: The "gap" in CSS grid CSS Grid is two-dimensional; it aligns items to both rows and columns....
Standard YouTube embeds are notoriously heavy. A single can download over 1MB of JavaScript and block the main thread, significantly hurting the Largest Contentful Paint LCP. Furthermore, if dimensions are not strictly reserved, the embed causes Cumulative Layout Shift CLS as it loads. This post documents the process of building a production-grade embed component that solves these issues using Web Components and React. The core problems Developers must address three primary issues with the standard YouTube embed: Cumulative Layout Shift CLS : When an iframe loads, it often starts with zero height and then "pops" open to its full size,...
While the base concept of Island Architecture/what-is-the-islands-architecture/ focuses on performance, there is a second major benefit: Resilience. By isolating components, we can ensure that if one fails or isn't supported by the browser, the rest of the page remains unaffected. This guide demonstrates an advanced pattern for @11ty/is-land/eleventy-island-guide/: building a relative-date component that relies on the modern but not yet universal JavaScript Temporal API. We will implement a "Show on Success" strategy to prevent both layout shifts and broken UI. The Strategy: "Show on Success" Standard hydration often results in a "Flash of Unformatted Content" FOUC or "Layout Shift" as...
An interesting trend in the JavaScript ecosystem is the native implementation of features previously available only through third-party libraries. While some developers view this as unnecessary bloat in the Node.js runtime, these additions standardize and optimize features widely used across the ecosystem. This post explores this trend by looking at util.styleText, a feature that allows developers to style terminal text natively without relying on external libraries like chalk. The chalk library The chalk library allows developers to style terminal output with colors and text modifiers. These styles provide visual cues, making terminal output significantly more readable. The following example demonstrates...
For nearly a decade, one of the most persistent best practices in web development was the use of shared public Content Delivery Networks CDNs. If developers used a popular library like jQuery, React, or Lodash, the advice was clear: Load it from Google's Hosted Libraries or cdnjs. The logic seemed airtight. If thousands of sites used the same URL for a library, the user likely already had that file in their cache from a previous visit to a different site. Loading it would be instant. Today, that advice is technically obsolete. Modern browsers have fundamentally changed how they store data...
While islands architecture offers significant performance benefits, finding a clear use case for partial hydration can initially seem challenging. However, as Eleventy sites require increasingly complex interactivity, the value of selectively hydrating components becomes apparent. This guide covers how to implement partial hydration in Eleventy using the @11ty/is-land component. It details how to use the component as a standalone tool and how to integrate it with WebC for advanced asset management. Part 1: The core concepts What is is-land? The is-land framework is a small, zero-dependency client-side library 4KB minified that allows developers to designate specific regions of a static...
For decades, JavaScript developers have found the Date object challenging to use. It is mutable by default and lacks native support for non-Gregorian calendars or time zones without external libraries like date-fns or dayjs. The Temporal API is the modern solution. It provides a robust, type-safe, and immutable way to handle dates and times in JavaScript and TypeScript. This post compares the legacy Date object with the new Temporal API, highlighting their core differences and why developers should consider switching to Temporal for date and time needs rather than relying on the Date object or third-party libraries. Core Structural Differences...
In researching Chromium's security architecture and how it mitigates risks associated with unsafe languages and untrustworthy input, two key concepts stand out: the Rule of Two and Mojo, Chromium's IPC system. This blog post explores how these concepts work together to create a robust security model. The Rule of Two The Rule of Two is a strategic framework used by the Chromium security team to evaluate the risk of any new feature. It identifies three major risk factors and establishes rules for combining them safely. The risk factors Untrustworthy Input: Handling data from the internet e.g., HTML, JavaScript, images, network...