Lambdas just landed in Java 8 and they already make my code feel lighter and way easier to read. Oracle shipped Java 8 a few weeks ago and the headline feature is lambda expressions. If you have been living inside anonymous inner classes for callbacks, sorting, or listeners, this is…
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.
Writing Tests First on Legacy Systems
Last week the internet learned a hard lesson with Heartbleed. Teams scrambled to patch and redeploy while everyone refreshed status pages. It was a reminder that our code is not a museum. It is alive, and it bites when touched without a net. That is why I keep coming back…
Streams Are Here in Java 8
Java 8 just landed, and the new Stream API is the feature I keep reaching for first. Streams flip our usual loop habit on its head. Instead of telling the computer how to iterate and where to push items, we describe what we want, and Java takes care of the…
EHCache in a Layered Architecture
“Cache like a saint. Invalidate like a skeptic.” Shop floor wisdom from late night deploys Midnight pages and the cache that cried wolf Two coffees in, the pager buzzed again. Slow product pages, the kind that make marketing ask if we changed something. We had not. The database was doing…
My Favorite Thing About Java 8
Java 8 just landed and my favorite feature finally feels right for me personally. Let me skip the suspense and say it out loud: lambdas are the thing I have been craving in Java for years. We have all sculpted endless anonymous classes just to pass a tiny behavior into…
Node Appears on Our Backlog: What Changes?
Creation timestamp: 2014-03-17T01:40:37 Dialogue PM: I see a new card on the backlog. It just says Try Node.js. Are we switching stacks or is this a tech crush we are indulging? Me: Neither. It means we stop talking about Node like it is a rumor and we give it a…
Package Managers Change Everything
Years ago I kept a folder named libs on my desktop and dragged random zip files into it. A jQuery plugin from a blog here, a date picker there, a copy of Prototype from a friend’s thumb drive, and good luck remembering where any of it came from. One night…
The business of software: Treat Your Product Like a Business From Day One
Software eats your calendar before it eats the world. The product takes shape, users show up, and then the real job begins. Not shipping the app. Turning it into a software business that pays rent, salaries, and the cloud bill without turning your hair gray. After a few launches that…
Sling Models: From Scriptlets to POJOs
Description: Sling Models: From Scriptlets to POJOs: Apache Sling from a practitioner’s perspective with timeless lessons. A quick chat in the team room Me: Why is there Java in this JSP that looks like spaghetti? Teammate: It started small. A getter here, a null check there. Then a deadline hit….
XWiki for Teams: Documentation that Breathes
XWiki for teams that want documentation that breathes Your team has docs in Google Drive, a few Word files stuffed in email, and a dusty old wiki that nobody trusts. People ask the same questions every sprint. New hires ping the lead for the same setup steps. You try to…