“Cache like a saint. Invalidate like a skeptic.” Shop floor wisdom from late night deploys Midnight pages and the cache that cried wolf Two coffees in, the pager buzzed again. Slow product pages, the kind that make marketing ask if we changed something. We had not. The database was doing…
Category: Software Architecture
System design patterns, architectural decisions, and scalability strategies. Building robust, performant systems that stand the test of time.
CI for Performance Tests: Treating Speed as a Feature
\n We shipped on a Friday night. Big promo. Fresh build. Buzzing chat room. Traffic started to roll in and then everything felt like wading through cold syrup. Spinners everywhere. Our APM graphs drew a perfect ski slope. Engineers scrambled, product looked worried, and the chat turned quiet. The code…
Escaping, Encoding, and Boundaries
Escaping, encoding, and boundaries sound like small plumbing details, right up until your app starts printing JavaScript popups that you never wrote. If you ship code on the web, this topic is not trivia. It is daily survival. Apple just pushed iOS 7 and every team I know is racing…
FreeMarker Templates for Clean Server-Side Views
\n Context \n\n\n\n This year keeps moving fast for web teams. We got new CSS toys, talk about Web Components on every feed, and more folks betting on client side frameworks like Angular and Ember. Node keeps getting love for small apps and build scripts. At the same time, most…
When to Avoid JSF: Choosing Simpler Paths
I keep meeting teams who pick JSF for a simple site, then spend weeks wiring converters, custom components, and view state quirks just to ship a form with two fields and a table. If your gut says this feels heavy for what you need, you are not wrong. JavaServer Faces…
Elastic Load Balancing: First Steps
“Start small. Make it boring. Let the graph tell you when to add the next piece.” Notes from last night’s pager session Elastic Load Balancing is the first AWS service I reach for when a single server starts to sweat. Think of it as a smart doorman that spreads incoming…
OSGi for Modular Systems: Why and How
\n Context \n\n\n\n Modular apps are back in the spotlight. We keep shipping giant wars, we fight classpath hell, we restart servers for the tiniest tweak, and we swear we will fix it next sprint. The Java module project from the JDK team is still somewhere on the horizon, while…
Dispatcher Caching in AEM
Cache is the feature you only notice when it fails. When it works, nobody calls at 3 AM. Dispatcher caching in AEM CQ is not fancy. It is a brick wall that takes the hit before your publish boxes do. We just came out of a launch week where the…
Pagination, Sorting, Filtering: Practical API Design
\n\n \n Good API design is not about endpoints, it is about trust. If clients can guess what happens next, you did it right. \n \n\n A morning with logs, coffee, and a stubborn feed \n I spent the morning watching our mobile app hit the feed endpoint like a…
WebLogic at Scale: Realities and Rituals
\n What does scale look like on WebLogic Server when the traffic graph turns ugly and the pager will not stop? Where do clusters actually help and where do they just move the pain around? What parts of the console matter on a weekday at noon and what parts matter…