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???

baseLayout.jsp is the file upon which all other AppFuse JSPs are based. It contains the overall structure of each page, where the contents of the page are inserted via Tiles.

A peek into web/WEB-INF/tiles-config.xml will reveal that baseLayout is a name in a <definition> tag that points to the actual file baseLayout.jsp in a path attribute. Within the definition, certain variables are "put" into the "definition" with <put>, <putList>, and <add> tags.

Taking it in sections, the beginning on the file includes /common/taglibs.jsp, so each JSP that is rendered will have available to it all the tag libraries that are mentioned in taglibs.jsp.

Similarly, after that, /common/meta.jsp is included. This contains all the meta tags your pages might need, so you can maintain them in one place.

Following that, there are a number of sections that import javascript and stylesheets. These are defined in lists at the beginning of web/WEB-INF/tiles-config.xml. You will see <putList> entries for scripts, styles, and printStyles. These lists are then converted into appropriate <HTML> tags within baseLayout.jsp.

Finally, on line 55, we come to the <body> tag. Here, you can see that the bodyId string that may have been defined in tiles-config.xml is included as the id of the body, if present.

Next, the errors.browser.warning string is retrieved from ApplicationResources for the current Locale.

Following that, within the div named screen, the div named header is displayed. This section checks to see if the current URL contains the string login.jsp, because this header text is only output if NOT on the login page. This header section is where you find the logged in user's name, as well as the link that says "Logout."

Following this, the menu is output, with a deceptively simple <tiles:insert> tag.

Equally minimalistic, the next div is called "content" and prints out the heading as an H1 header, followed by the /common/messages.jsp, which will contains whatever messages have been placed in there by prior processing, and finally, the actual contents of the page is inserted with line 84's <tiles:insert attribute="content"/>.

At the bottom of the page, the footer defined in tiles-config.xml is inserted.

"What we've got here is failure to communicate.
Some men you just can't reach...
So, you get what we had here last week,
which is the way he wants it!
Well, he gets it!
N' I don't like it any more than you men."

Look at your young men fighting
Look at your women crying
Look at your young men dying
The way they've always done before

Look at the hate we're breeding
Look at the fear we're feeding
Look at the lives we're leading
The way we've always done before

My hands are tied
The billions shift from side to side
And the wars go on with brainwashed pride
For the love of God and our human rights
And all these things are swept aside
By bloody hands time can't deny
And are washed away by your genocide
And history hides the lies of our civil wars

D'you wear a black armband
When they shot the man
Who said "Peace could last forever"
And in my first memories
They shot Kennedy
I went numb when I learned to see
So I never fell for Vietnam
We got the wall of D.C. to remind us all
That you can't trust freedom
When it's not in your hands
When everybody's fightin'
For their promised land

And I don't need your civil war
It feeds the rich while it buries the poor
Your power hungry sellin' soldiers
In a human grocery store
Ain't that fresh
I don't need your civil war

Look at the shoes your filling
Look at the blood we're spilling
Look at the world we're killing
The way we've always done before
Look in the doubt we've wallowed
Look at the leaders we've followed
Look at the lies we've swallowed
And I don't want to hear no more

My hands are tied
For all I've seen has changed my mind
But still the wars go on as the years go by
With no love of God or human rights
'Cause all these dreams are swept aside
By bloody hands of the hypnotized
Who carry the cross of homicide
And history bears the scars of our civil wars


I don't need your civil war
It feeds the rich while it buries the poor
Your power hungry sellin' soldiers
In a human grocery store
Ain't that fresh
And I don't need your civil war
I don't need your civil war
I don't need your civil war
Your power hungry sellin' soldiers
In a human grocery store
Ain't that fresh
I don't need your civil war
I don't need one more war

I don't need one more war
Whaz so civil 'bout war anyway

Phew. What a powerful song. You don't have to be a liberal (I ain't!) to find something to like here. Conservatives don't love war; we're just willing to face the fact that it is sometimes necessary.

While Axl and company may have been railing against the "military-industrial complex," I see something deeper in this song. This is about the sadness of man's inhumanity to man, in all its forms, throughout history. For the most part, the masses are merely pawns in the ridiculous struggles for power fought by a handful of men at any given moment in history. The fact that today's struggle is a necessary one doesn't lessen the tragedy of war, nor does it minimize the suffering and loss that war brings upon people who neither asked for it nor have a choice in it.


I've always been a patriot, even when I was a kid. My pride in the United States used to give me a lump in my throat, even when I was too young to really understand what I was feeling. Corny? Yeah, probably.

In these post-9/11 days, it is that much more important to me that I live in a country where peace and freedom are a reality. I can't imagine what it is like to live in a country where your perception of reality is so skewed that bombs and destroying the lives of others are your only forms of self-expression. To a certain extent, we are all victims of the circumstances around us, but we also create our own reality. Not every Palestinian thinks teaching their own children to blow up innocent children and old people makes sense. Not every Muslim thinks that there are 72 virgins awaiting them in heaven if they will only blow up non-Muslims. But there are far too many of each.

One of the things that makes the United States unique is the fact that it is, in a very tangible sense, The New World. Physically separated from most of the population of the world, North America took a heroic effort to reach. When you were living in the world that you knew and understood in Europe, it took a very significant decision and a great commitment to get yourself here. In a very real sense, then, we inhabitants of this great country were naturally selected for a desire for a better life. We are the decendents of people who dared to venture into the unknown on a quest for freedom, wealth, opportunity, and happiness. While other people stayed where they were comfortable, our ancestors left their warm beds and crossed an ocean to reach the land of opportunity.

Even the Mexicans who illegally cross into this country have the gumption to risk it all in pursuit of a more promising future. This land attracts the best of the best. People strive to get here. They let go of what they know in the hope of something better.

As much as the rest of the world resents us and loves to point out our many flaws, they, too, recognize that we are a nation of achievers, decended from their own departed pioneers and risk-takers. We, not they, carry in our genes the vision of a hopeful future and the chutzpah to actually go for it.

Flawed and imperfect as we are, We the people are imbued with a spirit and determination that the rest of the world can only dream about. We live it.