Flexibility and Reuse

The artima.com site has a great set of interviews with Eric Gamma. The one focusing on "Flexibility and Reuse" is particularly insiteful. I recently took over an application project that had floundered. One of the issues was the completeness and complexity of a custom framework they were building as part of the project.

Eric rightfully points out the draw back to the framework approach:
When we started exploring frameworks years ago, we had big hopes for them. We thought the way to create software was to build high-level, domain-specific frameworks, and then you just customize them and reuse all the design that is codified into them. That was the reuse nirvana. Since then, I've gotten a little more realistic, because I have learned that it's hard to create highly reusable frameworks. They become complex, hard to learn, and even harder to maintain. I was on both the framework consumer and the framework producer side, and it can be hard from either perspective.

...patterns offer reuse in a way that is less risky than frameworks. Building a framework is high risk and a significant investment. Patterns allow you to reuse design ideas and concepts independent of concrete code.
The first thing I did was scrap the framework and rework the architecture with the team using well worn patterns where appropriate. This has definitely helped us to improve the situation and get back on track for delivery of the product.

Why Cryptochaos?

I've been asked many times where the handle "cryptochaos" came from.

Well I needed and AOL Instant Messanger ID...

I was attempting to register for an AIM ID. Everyone knows the frustration of finding that someone else not only has your name, but is using it! Even worse, there are several scoundrels out there using my name. I've found that every meaningful combination of my name seemed to have been taken. I absolutely refused to refer to myself using any of the suggestions (think "paulmaurer851" or some other such nonsense) so I decided to pick a handle instead.

But what handle to use?

The hunt began by typing some short handles based on some of my interests like "musicman", "player", "guitarman", "teleman", "strat", "javaman"... Yes I know, in retrospect, all kinda goofy. Well maybe even then they were goofy, but someone else had out goofed me because they were all taken.

I decided to look at my book shelf for inspiration.

There was a great book on the history or cryptography sitting in front of me by David Kahn called "The Codebreakers". Hmm... Let me try some cool variation on that theme. Crypto? Krypto? (yes I know it's the name of Superman's dog) I tried quite few more variations that either time or perhaps embarrassment have erased from my memory. All were taken.

On to the next book...

"The Fuzzy Future" by Bart Kosko. Nope, not interested in a fuzzy themed handle. Skip that one.

Next book again...

"Chaos: making a New Science by James Cleick. Yes! I've been meaning to read that some day. Variations on Chaos would be cool. Alas all were taken.

You could say desperation set in...

I've become tired with this game. I've lost track of the fact that I just wanted an AIM ID so I could chat with friends and coworkers. OK, I'm just going to jam two of my failed attempts together so I can get on with it. So I typed "cryptochaos" into the AIM registration box, pressed enter and waited... and waited... and waited... Timed out! What the? Damn! My modem disconnected! I'm going to finish this tomorrow!

And that's what I did.

Hmmm What's This Like?

Well, I'm diving in and trying out this blog thing. I've had my own (personal) site for some time but thought I would take the leap into the blogsphere. I haven't given this much thought... figure it will eventually evolve into something useful or just fade away. Let's see where this takes me;)

Note: Any blog entries prior to this are posts from my old website.