Archive: 2026-03 | Page 19
Archive: March 2026
-
Mar 6, 2026
A pull request with a new feature and its accompanying tests often gets read in code review such that the actual production logic is scrutinized carefully, while the accompanying test code only gets a brief glance, as long as the tests are formally green and look plausible at a glance. This unequal distribution of attention is risky, because a test that checks nothing meaningful but still stays green conveys a deceptive sense of safety that only reveals itself as empty once an actual bug surfaces in production later.
-
Mar 6, 2026
Interaction to Next Paint punishes every millisecond that passes between a click and a visible reaction. Systematically identifying Long Tasks and resolving them with yielding, the Scheduler API and event handler slimming lowers the INP number not by accident, but through traceable technical interventions.
-
Mar 6, 2026
The integrated terminal in PHPStorm is sufficient for most everyday tasks: Magento CLI, Composer, Git commands. But it has limits: no persistent session management, no tmux, no full multiplexing. This article explains when the integrated terminal is enough and when an external shell is more productive.
-
Mar 6, 2026
Form elements are among the hardest HTML elements to style. Browser defaults, platform-specific appearance and missing utility hooks turn checkboxes, select dropdowns and custom inputs into a constant challenge. The @tailwindcss/forms plugin solves this systematically.
-
Mar 6, 2026
Anyone still running PHP 7.4 in production is operating a version without security updates on a codebase that barely any modern Composer package still supports. Migrating PHP 7 to PHP 8 is technically manageable once you understand the type system changes, removed functions, and string comparisons, and once you approach it systematically with PHPStan and Rector instead of improvising.
-
Mar 6, 2026
Templates update automatically when reactive state changes: that is Alpine's core promise. But what about side effects outside the DOM? When a URL parameter needs updating, an API needs calling, or a localStorage value needs syncing, Alpine.js needs an explicit watcher. That is what $watch is for.
-
Mar 6, 2026
A misconfigured or completely missing Content Security Policy leaves the door wide open for cross site scripting attacks, even when the rest of the code is clean. This article walks through building directives like script src and frame ancestors correctly, using report only mode for a safe rollout, and hardening the policy specifically for Magento and Hyva storefronts.
-
Mar 6, 2026
The wrong state management choice costs React projects more in performance and maintainability than almost any other architecture decision. Context, Zustand and Jotai solve the same underlying problem in fundamentally different ways. This article explains the differences with real code examples and shows when each tool is the right choice.
-
Mar 6, 2026
The New Architecture replaces the old asynchronous bridge and its JSON serialization with JSI, a direct C++ interface between JavaScript and native code. Fabric takes over as the new renderer for synchronous layout, TurboModules load native modules lazily instead of eagerly at app startup, and Codegen generates type-safe interfaces for both platforms from a single TypeScript spec file.
-
Mar 5, 2026
JavaScript Numbers are 64-bit floats, and they silently lose precision for integers above 9 quadrillion (2^53). BigInt solves the problem: arbitrarily large integers without rounding errors, for IDs, cryptography, timestamps and financial calculations.