Rainy days and Java always get me down


I've Moved My Blog

It's currently located at http://www.urlinone.com/blog

I should say "I'm moving my blog." It's a pretty painful process.

Pebble has blown up on me, and it's been many months since I've been able to blog reliably. I've lost posts. And now I've got to figure out how to migrate my past blog posts from Pebble to my new destination without all the URLs changing, lest external links become 404 Not Founds.

Why does everything in the 21st century have to be a three-day project???

There are a lot of Intro To Groovy articles out there. A lot of them I find lacking something. All that syntax without motivation is hard to grok. I found this article by Mark Volkmann to be the most worthwhile.

On the other hand, maybe the tenth article you read is the one where it finally sinks in, and it doesn't really matter in which order you read them.

I've noticed an interesting trend in the world of software, and it’s starting to occur in more places. We used to write programs taking either a top-down or bottom-up approach, but the paradigm is shifting. We're starting to architect our applications using an inside-out methodology and gain powerful benefits from the new perspective. Interestingly, the benefits seem to come at very little cost.

One of the earliest examples that comes to mind is Object-Oriented Programming (OOP). With OOP, the function, which used to be the smallest quanta of software, was encapsulated into the class, which became the new fundamental building block. Objects called methods, rather than functions operating on data. One exception here is that OOP was not a low-cost endeavor. I still remember spending a year not knowing how to write a program anymore, as I tried to rewire my brain for OOP.

Another early example is event-driven environments, in which the operating system or windowing system would call into your code as events took place, rather than your code driving the flow and calling the operating system. Again, learning to write Windows programs hurt. Badly.

What I've noticed recently, though, is that examples of inside-out architecture are starting to multiply, and they’re not nearly as painful as the two examples above. It's happening in multiple domains and in more subtle ways. You don't have to completely change the way you architect an application, yet these subtle tweaks in architecture are having significant impacts without being completely invasive.

One example of this is Inversion of Control (IoC)/Dependency Injection. This is such a wonderfully simple concept, but hugely powerful. Your code is cleaner, because objects are given what they need, rather than having to actively go get it for themselves. You write only the code that you really care about, and the glue code is provided by a lightweight container. You get a lot of benefits including simplicity and testability, and it costs little more than providing some setters and a bit of wiring in XML.

Similarly, there is Aspect-Oriented Programming (AOP) . With AOP, you conceptually assign the execution point to your code, rather than placing your code at the point of execution. Again, you get so much power and productivity from such a deceptively simple variation in approach. The Spring framework gives you the benefits of both IoC and AOP with so little effort that it seems to violate the laws of thermodynamics.

Hibernate and JDO have changed the way we deal with databases. Rather than placing database read/write code within an object, we now look within an object and persist it with external code in a sort of pseudo-container. Reflection and bytecode manipulation are important enabling technologies that are themselves an example of software turned inside-out.

Closures are another place where things get turned inside-out. Rather than calling code from a function, you pass the code into the function. It's a concept that's been around for years in some languages, but it's starting to become more popular and available.

Service-Oriented Architecture (SOA) is another increasingly popular inside-out architecture. Rather than writing an application with internal functions or services, the services have become external resources that any number of applications can access. DLLs, COM, DCOM, and CORBA were early examples of this, but the concept has moved from a deployment strategy to an application architecture.

One of the newest structures in integration architecture is the Enterprise Service Bus (ESB), which makes application integration an entity in itself. Rather than writing integration code within your application, your integration layer provides the mechanism to integrate everything in one place. ESB is like applying IoC and AOP concepts to application integration. This realization led me to two new acronyms and a nursery rhyme:

  • Aspect-Oriented Integration (AOI)
  • Integration-oriented Inversion of Control (IoIoC)
  • Old MacDonald had a bus, IoIoC
    And on that bus he had some apps, IoIoC...

If you connect the dots, I think will find that there's something evolutionary and unconscious going on here with this trend of turning architectures inside-out. Even though there are clear differences in these various technical advances, I find a hint of commonality among them. With apologies to Sun, perhaps the container is the application.

Are you aware of other places where architectures or structures are turned inside-out and yield disproportionately large benefits from a seemingly simple twist? What else might we turn inside-out? What unwieldy or difficult architectural problems might improve when put through this topological wringer? Maybe an awareness of this trend will lead us to more deliberate innovations of this type.


I believe in what you do
I believe in watching you
It's what you do
 
I could turn you inside-out
What I choose not to do
I could turn you inside-out
What I choose not to do
 
              "Turn You Inside-Out"
              R.E.M.

I have to confess that my support for President Bush is not nearly as enthusiastic as it might have appeared during the campaign. I'm no blind follower. It's almost exclusively motivated by the threat of terrorism and the fact that he recognizes that danger more clearly than John Kerry does. Other than that, I've viewed him as just another politician, and I've probably even bought some of the scandalous propaganda about him. I just considered it to be secondary to keeping America safe from terrorists.

However, the two times that I've truly sat down and listened intently to him when he wasn't campaigning, when he was just speaking from his core, I've been surprised to find myself impressed by what I found inside the man.

The first time was when he was on Larry King a few months ago. I wrote about it here. Admittedly, this was part of the campaign, but he was simply sitting and talking with Larry and his wife. He was very genuine, very honorable, and very sharp. No spin, no politics. Just straight talk.

The second time was tonight, when I watched the TiVoed press conference he held earlier today with the White House Press Corp. Again, I wasn't really expecting to be impressed, but I was. I'm finding myself feeling a renewed sense of hope, even though this wasn't a feel-good, touchy-feely kind of press conference. I just recognize that we have a pretty good leader at the helm.

Despite the trouble he has assembling English sentences at times, I found him to be a refreshingly real, determined, and sincere man with a mission to improve this country to the best of his ability. I got a sense that I was seeing a great man come into his own. I think all of us may be very surprised by what great things he may do for this country in the next four years. In fact, it occurred to me that we may see a dramatic shift in the what we come to expect from our politicians after Bush's second term. We may hold them to more honest, bullshit-free standards than we've come to expect from Washington, D.C. over the years. You would never hear George W. Bush say "It all depends on what your definition of 'is' is."

I know that if you're a liberal, a skeptic, a cynic, or someone who simply relishes in hating George W. Bush, you'll have a very hard time hearing or buying what I'm saying, but I'm telling you, if you can drop your defenses for a moment and try to put aside all the propaganda you've been fed and swallowed about him, you'll find a decent, honorable man who knows how to get things done and is committed to leaving this nation and this world in better shape than he found it.

It's so easy, when you're feeling unhappy about the result, to twist every sentence to something negative like "sure, leaving it in better shape for himself and his oil cronies." Well, try to let that cynicism go for a moment, and you may actually find that you can see a real person with good intentions shine through. Don't buy into all the lies.

I wasn't always a red-state guy. I was born in Brooklyn. I used to be about as liberal as they come. I can easily put myself in your shoes. But, I'm telling you, what you've been told about this guy isn't true. It's a smear campaign. Just listen and watch him, and you'll see it. He's not a smooth-talking politician. He's a good man trying to do good work, knowing that half the country and a lot of the world doesn't like or understand him. That's a pretty tough job.

Look at it this way. If Kerry had been elected, you would have thought that any Bush supporter who couldn't see what a wonderful man he was was either blind, stupid, or just bitter. You would tell them to stop whining and recognize the man for who he is. Well, try to rise above your negative filters, the same way you would have expected people who voted for Bush to do if Kerry had won.

This is still the same great country it has always been. You may actually find that you come to respect and appreciate the man that you have invested so much time and energy in hating.

I feel confident that you can trust Bush not to trample everything you hold dear. I just don't believe that's what he's about. And even if you do expect him to do that, why not wait until you actually have some evidence, before just buying into the smear campaign that's been waged against him. If you really examine the facts, I don't think you'll find anything that warrants the accusations and lies. If you really do, I'll be right there with you shouting about it, but so far, I just haven't seen anything real.

All we are saying is give Bush a chance.