A font update shipped with a new query param on the CSS reference, so the cache busting should have just worked. It did not. Here is the full chain: dispatcher cache, an Akamai setting called ignore query params, and a NetStorage file that was never actually updated.
How-to
Field notes on AEM, Java, web development, performance, tooling, and the little fixes that save future-you an afternoon.
Blog post about a collection of AEM cheat sheets used in daily AEM development.
Read featuredBrowse the archive
Latest Articles
A clear, practical breakdown of how caching works across AEM’s CDN, Dispatcher, and Publish tiers. Learn why caching is mandatory for performance and how invalidation rules determine site speed and stability.
AEM Caching Part 2 - Practical Mid-Level Strategies for Dynamic Content and Dispatcher Configuration
A tactical deep dive into mid-level AEM caching techniques—selectors, query parameters, JSON APIs, and Dispatcher rules. Learn how to stabilize cache keys, prevent cache bloat, and avoid the misconfigurations that crush performance.
A detailed architectural guide to building globally scalable AEM caching—covering multi-CDN setups, GraphQL caching, flush strategies, surge protection, segmentation, and advanced invalidation patterns. Learn how to keep Publish stable even under massive traffic.
Learn about the AEM Dispatcher in perspective of developer, why it exists, and how it works as both a caching and security layer.
A detailed walkthrough of the dispatcher.any configuration — explaining its key sections like /cache, /filter, /renders, and /farm. Learn how to read, structure, and maintain it properly.
A detailed walkthrough of the Dispatcher `/filter` Rules
A detailed walkthrough of the Dispatcher `/cache` Rules
Understand how AEM keeps cache fresh using the .stat file mechanism. Learn when and how Dispatcher marks content as stale, what /statfileslevel does, and how asset updates trigger invalidation.
Connecting Dispatcher to multiple Publish instances, handling logged-in user sessions securely, and implementing vanity URLs using Apache mod_rewrite.
A practical guide to fixing common Dispatcher problems — stale pages, 403/404 errors, and caching issues. Learn how to read logs, test configurations, and debug step by step.
The most common interview and practical questions around AEM Dispatcher. Perfect for refreshing concepts or preparing for real-world discussions.
When to close a ResourceResolver in AEM, when leaving it open is actually correct, and the resource-leak and session-reuse pitfalls that catch most developers.
Complete step-by-step guide to adding emergency contacts and vital medical information to your lock screen on Samsung Galaxy, Google Pixel, Android, and Apple iPhone.
This post explains how to automate logging in Java methods using JavaParser. The provided code parses a Java file, locates a Logger instance, and injects Entering and Exiting log statements at the start and end of each method. This automation saves time and makes tracking program flow easier without manual log insertion.
God Mode gives you instant access to your favorite Windows settings in one place.
This blog post explains how to create a custom service in AEM to monitor replication queues. The service checks if the queue is blocked and sends notifications to admin users if issues arise. It also includes a scheduler to automatically run the monitoring at set intervals.
Learn how to display a spinner dialog and block user input during REST API calls in AEM by using Coral UI.
Blog post about a collection of AEM cheat sheets used in daily AEM development.
Check out this unique collection of useful cURL commands for Adobe Experience Manager (AEM). These commands, gathered from various sources, will help make your AEM tasks easier
Explore how artificial intelligence like ChatGPT can be a helpful friend in making software development and testing simpler and faster.
Discover key Visual Studio Code extensions for web development to enhance productivity.
Learn how to generate ID's for elements whenever they are inserted in Author mode.
AEM tutorial shows you the best way to fetch resources using resolver and avoid common pitfalls.
Find out how to make your AEM system safer by learning how to switch the port it runs on. Explore AEM settings to change the port.
If you've misplaced your phone, don't worry – you can still retrieve its unique IMEI number. Discover the steps to recover your IMEI and safeguard your device. Keep your phone secure even when it's lost.
Learn how to register/invoke a servlet on all pages of AEM.
Learn how to perform offline compaction in aem to reduce the repository size on windows machine.
Step-by-step guide to bring back the full classic right-click context menu in Windows 11 without the extra "Show more options" click, using a simple registry command or GUI.
Learn how to resolve PKIX path building issues during java based application development.
Learn how to embed a youtube player into markdown documents.
Learn how to store your PuTTY session information so that you don't enter username and password everytime you log in.
Learn how to find the version of AEM currently in use.
Learn how to backup or restore local AEM instance using npm cli.
Learn how to transliterate text from asian languages to english
Learn about difference between jcr:lastModified and cq:lastModified in AEM
Most useful SQL2 and Xpath queries.
Complete guide to disabling annoying push notifications, pop-up prompts, and site spam in Google Chrome on Windows, Mac, Android, and iOS.
Learn how facebook extracts the information from images.
A curated, practical collection of ADB and Fastboot commands for Android developers and power users — covering wireless debugging, app management, logcat filtering, screen recording, and debloating.