Accessibility in Desktop Java Now that Java 7 is out and Nimbus is not the new kid anymore, I keep running into the same question from teams that ship Swing apps for regular folks in offices and call centers. How do we make this thing friendly for people who do…
Year: 2011
Migrating Ant to Maven: A Practical Path
\n I remember a Friday night release where our Ant build ran fine on my laptop and blew up on the build server. A jar crept into lib/ locally and never made it to source control. We shipped late, and someone swore the build fairy was cursed. That was the…
Batch Inserts and the Art of the Flush
Hibernate batch inserts look simple on a slide, then your app crawls the moment you try to push a few hundred thousand rows. I spent a late night nudging a job while watching chatter about new features on Google Plus, and the culprit was not the database. It was the…
Multi-Module Projects: Structure for the Long Haul
Maven multi module projects are not shiny. They are not new. They are the plumbing that lets a codebase grow without turning into spaghetti. If your repo already has a few folders with random build files, or you are shipping more than one app that shares the same core classes,…
Why the JVM Still Wins: Portability, Tooling, Ecosystem
\n �So you are still betting on the JVM?� \n\n That is what a friend asked me over coffee after a long day of pushing pixels and chasing threads. Rails is shiny. Node is buzzing. VMs sound like something you only worry about when the ops folks ping you. I…
FXML and MVC: Structuring JavaFX UIs
\n I was staring at a messy controller at midnight and coffee number four was losing the fight. The app worked, sure, but the UI code had crawled into every corner of the class like ivy. Every tweak was a scavenger hunt. That was the night I split the screen…
SonarQube for real-world teams
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…