When an embedded database is enough for shipping You want to ship. You do not want to babysit a server. For a lot of apps right now the right move is to bundle an embedded database and call it a day. That is where HSQLDB and its cousin H2 shine….
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.
FreeMarker Templates for Clean Server-Side Views
\n Context \n\n\n\n This year keeps moving fast for web teams. We got new CSS toys, talk about Web Components on every feed, and more folks betting on client side frameworks like Angular and Ember. Node keeps getting love for small apps and build scripts. At the same time, most…
The New Async: Callbacks, Promises, Patterns
JavaScript async is the thing under the hood of every app we ship now. Ajax everywhere, Node on the server, timers, events, the whole party. We glue code to a clock that never stops. If you have felt the pain of a callback pyramid, swallowed an error without noticing, or…
jQuery Selectors that Read Like English
\n Your jQuery can read like English. Let your selectors tell the story. \n\n\n\n Think in sentences when you write jQuery selectors \n\n\n\n We reach for jQuery every day, and with jQuery two landing this spring while many teams still ship on the one ten branch for old IE, selectors…
Build Pipelines for Polyglot JVM Projects
The JVM is no longer a one language town. Teams are mixing Scala services, Groovy build logic, Clojure tools, and a splash of JRuby scripts. The question is not if you can do polyglot on the JVM. You already are. The question is how your build pipeline keeps up. What…
Code Coverage that Informs, Not Deceives
Code coverage can be a flashlight or a fog machine. Shine it right and you see paths. Point it wrong and you walk into walls with a smile. Teams brag about eighty percent. Some push for a hundred. Numbers look clean on a dashboard. Bugs are not that polite. What…
Test Pyramid with JUnit: Fast at the Bottom, Valuable at the Top
\n We just wrapped another late night deployment. Jenkins is green again, but our UI checks took longer than the coffee line this morning. Teams keep asking the same question: how many tests is enough and where should they live. The Test Pyramid is still the best mental model I…
When to Avoid JSF: Choosing Simpler Paths
I keep meeting teams who pick JSF for a simple site, then spend weeks wiring converters, custom components, and view state quirks just to ship a form with two fields and a table. If your gut says this feels heavy for what you need, you are not wrong. JavaServer Faces…
Secrets and Credentials: Guardrails in Jenkins
\nJenkins is awesome until it leaks a password to your console and emails it to the whole team. \nLet�s set guardrails for secrets before a stray echo prints your prod keys to the world.\n\n\n\n Secrets and Credentials in Jenkins without surprises \n\n\n\nEveryone is ramping up CI, and Jenkins is the…
Stateful Services in a Stateless World
We keep saying the cloud loves stateless apps, then we ship a feature that needs a cart, a profile, a queue, or a ledger, and reality taps us on the shoulder. The truth is every successful product collects baggage, and that baggage is called state. In a world of load…