I was staring at a class with four nested anonymous listeners and a for loop inside a for loop. Coffee went cold while I tried to explain to a teammate why the code worked and why it still felt wrong. Then Java 8 dropped. We rebuilt that same logic with…
Year: 2014
Scaffolding Done Right: Start Fast, Keep Clean
Ship today. Regret nothing tomorrow. That is the point of scaffolding when you do it right. Friday night, greenfield, caffeine It is late on a Friday and your inbox is a graveyard. You crack open a fresh repo and type yo angular. Yeoman throws a party of files into your…
Java 8 Lambdas Explained
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…
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…