Keeping Your Cache Down to Size

Guava’s CacheBuilder provides several options for keeping a cache down to a reasonable size. Entries can expire for multiple reasons, entries can be limited to a certain number, and entries can be made available for garbage collection. These options can be used individually or together. Each is simply one more method call during cache creation. … Read moreKeeping Your Cache Down to Size

Goodbye, MapMaker. Hello, CacheBuilder.

Google has released a new version of Guava, and it’s bad news for one of my favorite classes, MapMaker. The exciting feature of MapMaker is its ability to produce an insta-cache, a key-value mapping that calculates values on the fly, expires them, and limits the quantity stored — all while maintaining thread safety. In release … Read moreGoodbye, MapMaker. Hello, CacheBuilder.

Guava: pidgin functional programming in Java

Google’s guava library provides a few constructs that let us use functional style in Java. Personally, I enjoy the slightly more declarative style that results, and have a new game of eliminating loops. Unfortunately, it’s Java. Attempting to do anything functionally is rather ugly. What do you think – worth it? or unreadable? Before: public … Read moreGuava: pidgin functional programming in Java


Why speak and write about programming? Because I can! Because this is an ambition that I’m suited for, that excites me, and that complements and enhances the rest of my career. I’m a good developer, but had nowhere further to go with it until now. Project management? No thank you, I’ll stay technical. Architecture? I’ve … Read moreWhy?

Why now?

My friends notice that I’m different lately. Instead of telling drinking stories, I’m reflecting about functional programming concepts. Instead of rushing out of the house as soon as the kids are in bed, I’m holing up at my new desk. I’m showing up to meetings where no beer is available. Crazy stuff! Way back in … Read moreWhy now?