“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…
Category: Software Engineering
Comprehensive insights into building, architecting, and managing software systems. From code craftsmanship to team dynamics, explore the technical and organizational aspects of software development.
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…
Custom Reports for Product Questions
\n Last week a product manager asked me a simple question at 6 pm. Which product page sends the most people to checkout when they arrive from our own site search. I opened Google Analytics, clicked through three reports, and still had that look that says I am guessing. We…
JasperReports for Operations Dashboards
Creation date: 2011 01 11T01:53:25 Late last night the pager did its song and dance while Twitterrific kept buzzing about Verizon and the iPhone. Our ops channel was trying to calm a spike on a checkout flow and I was staring at a wallboard that looked like a Christmas tree….