Why do jar dependencies keep biting the hand that feeds them? If you build Java apps for a living, you have met the broken classpath at 6 pm on a Friday. You drop a jar in a lib folder, Ant compiles, the app starts, then boom at runtime a missing…
Parameterised Tests: Cover More with Less
Tests are a safety net when the circus is in town. Make the net wide without adding more rope than you need. Why I stopped copy pasting tests and slept better This week I stared at a wall of green JUnit bars and felt nothing. The suite was huge and…
Transaction Management with Spring: Simplicity with Sharp Edges
“Spring makes transactions feel like a checkbox. They are not.” Transaction Management with Spring looks easy on the surface. Write your service, add a neat annotation or a small config snippet, and boom, atomic work. If you are moving from heavy EJB days to Spring 2, it feels like swapping…
Designing Meaningful Performance Scenarios
Designing Meaningful Performance Scenarios: JMeter from a practitioner’s perspective with timeless lessons. Plenty of teams fire up Apache JMeter, crank a pile of threads, and call it a day. The graphs look fancy, the numbers look sharp, but then the site slows down during a promo and everyone is surprised….
OpenCMS for real-world teams: Editorial Workflow Lessons
Do your editors still email Word files around and hope nobody overwrites them? Are you brave enough to hit the publish button at 6 pm after a long day of fixes? If your site runs on OpenCMS and your team is larger than five people, you probably feel the friction…
Simplifying J2EE: Patterns that Actually Help
I walked into a client room where the whiteboard already looked tired. Boxes, arrows, and the usual EJB question marks. The team kept repeating the same wish. Make J2EE simple. Not cute. Just less painful. We pulled the plug on a few heroic ideas, cut the XML sprawl, and shipped…
Query Tuning with HQL and Criteria: A Field Guide
Dialogue Dev: My page takes five seconds. The query looks innocent. DBA: Your logs show 412 selects. Nothing innocent there. Dev: But I am using Hibernate with HQL and Criteria. It is supposed to help. DBA: Tools help if you aim them. Right now you are spraying the database. If…
Designing Pixel-Perfect Reports
\n �People do not read reports. They scan them. Your layout decides what they see.� \n\n\n\n Why pixel perfect still matters in JasperReports \n\n\n\n I have been living inside JasperReports all week and it reminds me of print days. Kerning, grids, white space, all of it. We ship to PDF,…
Partial Page Updates: Fast without Flash
Partial Page Updates: Fast without Flash. That was the pitch I made to a product manager this week after watching a full page reload grind through a simple rating widget. Click. White screen. Spinner. Repaint. The moment had all the drama of watching paint dry. We do not need it….
Eclipse Tricks that Save an Hour a Day
My morning started with a cold coffee, a failing JUnit, and a product manager pacing behind my chair. The kind of day where your editor either saves you or buries you. I opened Eclipse, stared at the red bar, and almost went for a rewrite when a tiny move saved…