Writing.
The Liquid you lint isn't the Liquid Shopify runs
Shopify theme check runs LiquidJS, not the Ruby engine your storefront uses. They diverge on whitespace, and here's where that becomes a real bug.
The docs were right — for a version I didn't have installed
A third-party Magento module's docs said one thing; the installed 0.6.2 source said another. Why vendor/ is the only reference you can trust.
You can't find a bug you never named
A bug is a violated rule. If the rule was never written down, neither your tests nor your reviewer has anything to check against.
The handshake tax: reuse your HTTP client in Magento integrations
A new HTTP client per API call quietly slows Magento sync jobs. The cost is repeated TLS handshakes — here's how connection reuse fixes it.
WooCommerce HPOS: when order sync floods Action Scheduler
WooCommerce HPOS compatibility mode can flood Action Scheduler and balloon your database. Here's the one query that finds the culprit.
Enriching a large Magento catalog without melting the indexer
Sourcing descriptions and attributes for thousands of SKUs is the easy part. Applying them to a Magento 2 catalog without reindex storms is the real work.
A PHP login form that won't get you owned
The five mistakes hand-rolled PHP login forms keep making: weak hashing, string-built SQL, session fixation, user enumeration, no rate limiting.
Why Magento cart price rules get slow at checkout (and how to find the culprit)
Magento 2 cart price rules run in PHP on every quote change. Here's why complex promotions slow checkout, and how to find the rule that's costing you.
The EAV tax: why Magento product loads are slow
Magento 2 scatters every product attribute across typed EAV tables. Here's why loading them all wrecks category pages, and how to stop it.
Migrating a Magento 2 store from utf8 to utf8mb4 without losing data
MySQL's utf8 stores only three bytes per character, so emoji and some international text get silently truncated. Here's the safe three-part migration to
Which Magento extension is slowing you down? Stop guessing.
How to measure the real cost of each third-party extension in Magento 2 — interceptors, observers, layout, and queries — instead of disabling modules one by
unserialize() is the Magento footgun nobody audits
Most Magento compromises come through a third-party extension, not core: PHP object injection via unserialize(). Here's how it becomes a remote shell.
Is your Magento store legible to AI assistants?
AI assistants are becoming a product-discovery channel. Shopify ships native tooling for it; Magento ships nothing. Here are the four layers that decide
Paginating Magento catalogs without OFFSET
Why setCurPage() and OFFSET die at depth in Magento 2, and how keyset pagination with PHP generators makes catalog iteration scale to 100k+ products.