Static analysis is having a moment. Teams are moving to Jenkins after the Hudson split, Maven 3 is finally stable enough for daily work, and every second meeting brings up questions about coverage, complexity, and that vague thing we call code health. We all want fewer outages, fewer late night…
Cross-Platform Consistency: Swing Themes in Practice
Everyone building desktop apps right now is juggling the same thing: we promise a cross platform story with Java Swing, then ship, and the screenshots from Windows 7, Snow Leopard, and fresh Ubuntu 11.04 look like cousins that barely talk to each other. Oracle now stewards Java, Apple has its…
Load Testing with JMeter: First Principles
“Your site is fast until people actually use it.” The itch that sends you to JMeter If you work on the web, there is a moment when the happy path turns into a long night. Maybe your app got a mention on a busy forum, or your promo email landed…
Tuning Tomcat for High Throughput
Are your Tomcat threads pegged, CPU hot, and response times creeping up the moment traffic gets real? Did a harmless spike from a promo email or a trending tweet turn your shiny app into a queue of timeouts and angry logs? If you are wondering whether Tomcat is slow by…
Hibernate in Production: Mapping Reality to Tables
Hibernate is everywhere in server side Java right now. Teams are shipping on Tomcat and JBoss, Spring is the glue, and JPA 2 support in Hibernate 3.5 and 3.6 feels solid. We keep hearing the same story in standups: the demo ran smooth, then production got slow, memory spiked, and…
Apache Geronimo: What We Tried and What Worked
GlassFish 3.1 just shipped with clustering, JBoss AS 6 is everywhere on mailing lists, and Tomcat holds steady for teams that want lean and fast. In the middle of that talk sits Apache Geronimo. We spent real cycles putting it through its paces on a couple of apps and promised…
JSP Includes and Tag Files: Templating That Works
\n Templating in JSP does not need to hurt.Between includes and tag files you can get clean pages, fast builds, and zero drama. \n\n When people say JSP is messy, they are usually fighting the wrong battle. The quick wins sit right in front of us with JSP includes: the…
Polling, Comet, Long-Running Requests
\n \n\n Polling, Comet, Long Running Requests: AJAX from a practitioner perspective with timeless lessons. \n\n The late night ping that would not stop \n\n Last night I had that classic support ping. The new activity widget we shipped was eating sockets like popcorn. Tabs open. Team chat running. Music…
Java Collections in Practice: Choosing the Right List or Map
Java Collections in Practice: Choosing the Right List or Map Picking the right collection is not a theory exercise. It decides how many servers you need, how long a page takes to render, and whether a late night pager wakes you up. I keep seeing the same mistakes in code…
Testing OSGi Bundles: Isolation that Helps
Why does testing an OSGi bundle feel trickier than testing a plain JAR? OSGi bundle testing has a reputation for being hard because the thing you ship is not a jar that sits alone. It joins a living world with a service registry, dynamic lifecycle, and class loaders that do…