Spun up a clean AEM local today and wrote down the bits that keep my Maven and HTL setup neat and readable. Maven first, because future me likes boring builds When a project starts small and then grows new features each week, a tidy Maven reactor saves the day. The…
Tag: coding-practices
Java 10 var Keyword and Local Type Inference
Java 10 brings var to local variables and it is already changing how my editor looks during code review. The new var keyword is short for local type inference. The compiler still knows the exact types and keeps all the strong guarantees we expect from Java. We just stop repeating…
Java 9 Modules: Finally Some Structure
Java 9 modules land with a simple promise: real fences for our code. If you have shipped large Java apps, you know the drill. The classpath is a mystery box, private stuff leaks out, and a tiny bump in a jar can wake the pager. Project Jigsaw has been years…
Dependency Injection Without Frameworks
Dependency Injection Without Frameworks sounds like a dare, but it is really about writing code that reads like plain English and runs like a quiet engine. Every week I see someone reach for a giant container just to pass a couple of collaborators into a constructor. I get it. Angular…
Project Jigsaw and Modularity
Project Jigsaw is finally knocking on the door and everyone who writes Java is about to learn a new word: modules. For years the classpath has been our bag of tricks and pain. You dump jars in there and pray conflicts do not explode at runtime. It works until it…
Refactoring Old Code with Lambdas
I spent the evening shaving old code with fresh lambdas and it felt good. There is a special kind of joy in taking a brittle util class or a forest of anonymous classes and swapping them for clean lambda expressions. The code stops yelling and starts whispering. Today lambdas are…
Intro to aem project archetypes
Problem framing If you are kicking off a fresh AEM site this month you are probably staring at a blank repo and a lot of choices. Do we start from the AEM Project Archetype or roll our own folder layout. Do we go all in with Sightly and Sling Models…
Logging Best Practices in Java
Logging is that quiet teammate who remembers everything you forget in production. Why logging still wins If you build Java services for the web, logs are your second debugger. You can not attach a profiler to every box, and sometimes the bug shows up only under load or at three…
Designing aem workflows that scale
Creation date: 2016 05 16 Story led opening Friday night at a media company. Editors are bulk dropping a new season of trailers into DAM. The DAM Update Asset model wakes up, the queue grows, and your author goes from smooth to syrup. Thumbnails crawl in. Someone tries to publish…
What is phonegap a practical intro
What is PhoneGap and when should you pick it for your next mobile app. If you write HTML CSS and JavaScript all day and want to ship to the App Store and Google Play without learning Swift or Java from scratch, this guide gives a grounded view. Real tradeoffs. Real…