This week you can find me:
Chariot Techcast – a podcast with Ken Rimple where I talk about Java concurrency, Terracotta, and the Strange Loop conference.
Kansas City Java User Group – Wed August 12th, talking about design patterns.
CARFAX – stopping by CARFAX in Columbia, MO to do a talk on my way through town
I also wanted [...]
Last week was a good week for the team. We’ve been trying to nail down a bunch of feature design work for the next release and it’s been dragging and dragging for weeks now. I don’t say this to fault the team at all – things got disrupted over the holidays, some of [...]
As we’ve been getting started on a Terracotta reference application, we’ve started thinking hard about the lifetime of every piece of data. And when we do that, it has become easier to decide where we store different kinds of data.
Some data needs to live effectively forever – that data is classic “system of record” [...]
Speaking of talks, I will be presenting at JavaOne today (4:10 pm in Gateway 102/103) on “Design Patterns Reconsidered”. I’m about 80% excited and 20% terrified, which is a good mix for me. I’ve given this one in different forms a couple times and I know this will definitely be the best version [...]
I happened across the post Why coupling is always bad / Cohesion vs. coupling, which of course set off my bullshit meter immediately (as does anything with the terms “always” or “never”). I think Vidar makes some good points and I generally agree with a lot of what he says, but I find it [...]
Eric posted today about log level confusion. As with everything, I have a long-winded and obsessive opinion about this so I thought I’d share it so the blogosphere can tell me how wrong I am. (Sorry, many days with no blogging has made me feisty!)
My opinion is that there are 4 log levels [...]
In my previous post I was fumbling with how to leverage closures to improve the visitor pattern. Neal suggested that I could leverage closures in building the visitor rather than executing it.
So, here’s a hack at doing that. The Visitor part is all standard. [I'm taking the easy route of encoding [...]
I’ve been playing around a bit with how having closures in Java 7 would alter some design patterns. I’m doing a talk on design patterns for Java One so hoping to do some stuff on this for the talk.
Here’s one version of Visitor with closures. I’m not too happy with it yet. [...]
I assume many of you are familiar with Edward Tufte, god of information visualization. He’s done a nice video review of the iPhone’s interface, which is largely positive.
I was just reading Mike’s post on software electricians. My gut response was that it’s not weird at all to be working primarily on tweaking annotations in a heavily frameworked Java app these days. In fact, I wouldn’t even agree in this case that the annotations are extra-syntacticular (according to the Webster definition). [...]
I’ve been playing this week with defining an application’s properties in an Enum and so far it feels pretty nice. I’m sure people smarter than I have already done this but it’s the first time it occurred to me. The topic of app configuration is itself a topic I have many thoughts on…but [...]
I had the need today to write a dummy jar with a manifest in the context of a unit test. Doing so was easy, but I ran into two goofy API problems with the jar manifest writing that tripped me up. Neither is well-documented.
A cleaned up approximation of what I was doing is:
import [...]
I whipped up a design doc template recently and thought someone else out there might find it to be a useful starting point. For me, I find a lightweight design doc (1-4 pages) to be a really useful way to focus your thinking before diving too far into the code. I’m not a [...]
I saw this post on needing static methods in an interface (for a factory method) and had a few thoughts.
The first thing it reminds me of is Stefan Schulz’s ideas on adding static contracts to Java as a way to solve this problem. A contract would basically be like an interface of [...]
I was just reading Ari’s insightful post on architectural patterns. He draws a distinction between two main architectural styles – 1) a collection of shared-world loosely coupled services that can be invoked in any order or 2) a partitioned, tightly-coupled workflow-based app.
“Shared-loose” seems to match how many people describe SOA right now. [...]

Hi! My name is Alex Miller and I live in St. Louis. I write code for a living and currently work for