What if your URLs were not an afterthought in your app but the main character from the very first line of code. What if links shaped your content model instead of getting patched at the end with regex and a bag of filters. If your brain nodded there is a…
Mixing Groovy with Java: Where It Helps and Where It Hurts
Mixing Groovy with Java: where it helps and where it hurts. I have been pairing on a few codebases that swing between both worlds, and the question keeps coming up: is Groovy a sidekick for scripts only, or can it sit inside a serious Java project without blowing up builds…
From Hudson to Jenkins: A Fork in the Road
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…
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…