If you run builds while you sleep, you felt the tremor when Hudson split. Today the question is simple: stay on Hudson or move to Jenkins for your CI server. From a seat on the build floor, the story of Hudson vs Jenkins is a story about people more than…
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.
Snapshots and Rollbacks: Insurance for Engineers
Snapshots and rollbacks are insurance for engineers. Not fancy. Not new. Just a quiet switch that lets you take two steps forward without the fear of falling into a pit. In the last few months I have watched friends upgrade kernels inside VirtualBox, push MySQL migrations on EC2, and test…
Accessibility in Desktop Java: Contrast, Fonts, Inputs
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…
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…