Tuesday, August 30, 2005

Maxwell's Demon


On why we should repeal the second law of thermodynamics.
The second law of thermodynamics is really frustrating. It explains why no matter how many times you organize your sock drawer or clean the butter dish in your refrigerator they always slip back to an intolerable state. The second law, as stated in Wikipedia goes like this:


All work processes tend towards a greater entropy (disorder/lower energy density) over time. Since the universe is tending towards a greater entropy (expanding over time), all work processes within the universe also tend towards a greater entropy. The second law of thermodynamics is a consequence of the first law of thermodynamics (ie., energy is conserved) and the fact that the universe is expanding.


Wednesday, August 24, 2005

XDoclet can't hang


Voyage among the XDoclet lepers, a struggling group of Struts developers.
Last year some of my fellow developers came back from a Florida conference to recover from all the fun, sun, and to mull over the many new technologies they had been exposed to. The big topics of the conference were brought back into the office and put on display like polished shells and interesting pieces of driftwood. Some of the smaller ones however were quickly forgotten, left in the bottom of the sack, or shaken into the rug like sand in the bottom of your shoe. XDoclet was one of the latter. It wasn't until this month that I got around to investigating this technology. As promising as it seemed, my final report is, sadly, that it isn't of much use to a struts developer.


Saturday, August 20, 2005

Meaningless Work


Which treats of meaningless open source projects, meaningfull ones, and piping hot buns.
Here is a quote I have from a man named Walter De Maria. I don't know who this man is or how you can find more of his writings. I got this particular quote from an Architect who gave a lecture about his buildings at a church in downtown Kansas City. I don't remember the architect's name, or what he was lecturing about, though I do remember that in the bathroom at that church, above the urnal, there was a sign that said "God is watching."
Meaningless work is obviously the most important
and significant art form today. The aesthetic feeling given
by meaningless work cannot be described exactly because
it varies with each individual doing the work. Meaningless
work is honest. Meaningless work cannot be sold in art
galleries or win prizes in museums--though old fashion
records of meaningless work can make you sweat if you do
it long enough. By meaningless work I simply mean work
which does not make you money or accomplish a
conventional purpose. For instance putting wooden blocks
from one box to another, then putting the blocks back to
the original box, back and forth, back and fort etc., is a
fine example of meaningless work. Or digging a hole, then
covering it is another example. Filing letters in a filing
cabinet could be considered meaningless work, only if one
were not a secretary, and if one scattered the file on the
floor periodically so that one didn't get any feeling of
accomplishment. Digging in the garden is not meaningless
work. Weight lifting, though monotonous, is not
meaningless work in its aesthetic sense because it will give
you muscles and you know it. -Walter De Maria

Thursday, August 18, 2005

Extending the struts custom JSP taglib

In which I take my first plunge into the struts source and come out holding my own shiny new Jsp tag library

ApacheThe Kansas EMS license renewal application, a struts servlet has been on my desk for a few weeks now. I am about one third of the way finished with this app, and so far so good. Today, the hurdle of the day was to figure out how to get an input field for which the user had entered bad data to be highlighted. Like this. I already had a stylesheet for it, and it looked like I needed to do something like this in the html: [code lang="xml"]
[/code]

Fine, except I only wanted that class to show up for input fields with errors associated with them. That requires logic, and the only way I could figure out how to do this with stock struts was either through lots of nasty logic tags surrounding my div's or through tags inside of the div's. Both solutions were unacceptable. The right way to do this is to create a custom JSP tag.

Dos^M return^M character^M hell.^M^M

Of poking fish with a stick and carriage returns.
Vim editorMust there be 20 different standards for everything? I can understand how many languages, dialects, systems of weights and measures, etc. spring up in the world. They were created in isolation over the centuries. A group of people on one side of the globe, poking at fish with a stick for thousands of years are naturally going to develop their language and customs in different ways than that group on the other side who have to smash through an ice sheet if they want to poke a fish with a stick. But in this era of the world wide web, where we are all poking at fish in the same river, why the heck do we have to do it so incompatibly? Why not just agree on one way so we can get down to the good part, which is bragging who pokes a fish the best?