Last night a feature request landed at 5 PM. The kind that sounds small during standup and turns into a mini rewrite after dinner. Our Swing app had grown into a ball of listeners and wizards. Adding one more screen felt like threading a cable through a crowded server rack….
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.
Software Engineering : People, Process, Code
Timeless Software Engineering Lesson 6. This one is about the old triangle that never gets old. People, Process, Code. In that order. We ship features, fix bugs, and buy pizza, but the long game is built on those three words. Where do we start? Start with people. The smartest process…
Commons IO and Lang: Everyday Helpers
Some days Java feels like groundhog day. Copy a directory. Read a stream into a String. Check if a value is blank. Build a decent toString and equals without turning your class into a festival of boilerplate. Then you remember Apache Commons IO and Apache Commons Lang. These two sit…
Little Libraries that Save Days: Apache Commons
Stop writing plumbing. Grab a tiny jar and ship. someone on a late night build I keep running into the same quiet hero in Java projects. It is not a shiny framework. It is not a new trend on Hacker News. It is a folder of small jars that do…
Jacoco and Friends: Wiring Coverage into CI
\n \n\n\n\n Created: 2011 12 03 00 59 46 \n\n We keep shipping faster and the walls between commit and prod keep moving closer. Jenkins grew out of Hudson and is now everywhere on the floor. GitHub is where half of our code lives and pull requests are the new…
Event-Driven Thinking on the JVM
Are you still thinking in request and response when your work really looks like a stream of facts? When a customer signs up, a payment clears, stock runs out, or an email bounces, that is an event. On the JVM we have a trusty tool for this kind of flow….
Debugging Faster in NetBeans: Little Things that Matter
Ever felt like the NetBeans debugger is slowing you down, even when you know exactly what you want to see? The truth is the debugger is fast enough. It is us clicking too much, stepping where we should not, and ignoring a handful of tiny toggles that quietly shave minutes…
Squirrel My Go To Database Controller
“The best database tool is the one you actually open every day. For me that is Squirrel.” Why Squirrel stuck with me I keep a lot of tools around for data work. MySQL Workbench looks nice, psql is always there, and on the Mac side Sequel Pro is friendly. Still,…
Sling Resource Resolution: URLs as a Feature
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…