Email lists keep growing and the spreadsheet tabs keep getting wider. This week I watched a tiny group of subscribers turn into a thread of replies that felt like a quiet sales floor. Gmail labels helped. Outlook rules did their best. Still, the handoffs were messy and the timing was…
Year: 2008
H2 for Tests: Fast Feedback Loops
H2 for Tests: Fast Feedback Loops Your tests are too slow. You push code. You wait. Coffee gets cold. The build pings your screen after five to ten minutes and tells you a DAO broke on some tiny thing. This is common when you point your tests at a real…
Life Cycle Callbacks in JPA: Where Behavior Belongs
Life cycle callbacks in JPA look tiny on paper. A couple of annotations and a method that runs at the right moment. In practice they answer a bigger question that teams ask every week: where does behavior belong? I keep seeing projects split between a fat service layer that knows…
Spring MVC in Practice: Clear Boundaries for Teams
\n We were pushing a release after midnight, the kind that makes pizza feel like a requirement and not a snack. Tomcat sat there staring at us, almost smug. The bug we were chasing lived in the no mans land between what the browser sent and what our service layer…
Dates and Times in Java: Why It Always Hurts
Dates and Times in Java: Why It Always Hurts I shipped a promo scheduler last week. Midnight local time for each market, clean and simple. Except Buenos Aires woke up angry. The country flipped its daylight rules late in the season and our JVM still carried old tzdata. Our code…
Timezone and Locale: Hidden Requirements in Global Apps
\n �The sun never sets on your users, but your code still sleeps in one timezone.� \n\n\n\n Why timezone and locale sneak into every feature \n\n\n\n We are shipping software to browsers and phones from everywhere. The App Store just opened and folks in Tokyo, Madrid, and S�o Paulo are…
Roller CMS in : Java Blogging with Control
Roller CMS keeps popping up every time I talk with Java folks who want a serious blog without giving up control. WordPress and Blogger are everywhere, which is great for quick starts. But if your stack is Java and you want your blog living inside your world, Apache Roller is…
JSF for real-world teams: Component Power with Caveats
\n \n\n\n\n �JSF is like a power drill. It makes holes fast, but it will also make a hole in your desk if you let it.� \n\n\n\n Why teams keep picking JSF \n\n\n\n When folks ask me why JavaServer Faces keeps showing up on enterprise project plans, the answer is…
Hardening Tomcat: TLS and Headers
Are you running Tomcat with HTTPS and still wondering if you are actually safe? Plenty of teams have flipped the switch on SSL in Tomcat 6 and called it a day. The padlock shows up, the boss smiles, and traffic looks scrambled in the sniffer. But that default setup often…
AJAX for Responsiveness: The First Big Leap
.ajaxnote { padding: 0.75rem 1rem; background: #f6f8fa; border-left: 4px solid #2d7ef7; font-size: 0.95rem; }\n.codehint { font-size: 0.9rem; color: #444; }\n.smallcaps { font-variant: small-caps; letter-spacing: 0.03em; }\nkbd { background: #eee; border: 1px solid #ccc; border-radius: 3px; padding: 0 0.25rem; font-family: monospace; }\n \n \n\n \n People do not want page loads….