Showing posts from May, 2004

Memorial Day fun

While Memorial Day is a day of acknowledgement of sacrifices and a day of appreciation for current members of our armed services, Memorial Day is also a day to celebrate our country and to take a well deserved day off of work. My wife and I just saw an early matinee: "The Day After Tomorrow". My wife is a big fan of Whitley Strieber who, with Art Bell, co-wrote the book that the movie was based on. The weather is fine today in the mountains where we live in Northern Arizona and we will most likely put our baby parrot in his travel cage and everyone will enjoy a day outside on our deck. (Our parrot Brady just flew into my office and landed on me, BTW). We already took our dog for a hike early this morning, so he will be happy laying around begging for treats.

Server side Java: less is more?

Although I have written a few books on the full J2EE software stack, I am increasingly adopting a "less is more" attitude for my own development projects. While I actually enjoy installing and experimenting with, and eventually using more complex software stacks, the reality of modern post dot-bomb IT development (the most useful features for the smallest development and maintenance costs) continually pushes me towards as much simplicity as possible as seen in this chronology of my favored infrastructure tools: Full J2EE stack, usually using Sun's reference implementation, JBoss, and/or Sun ONE Using EJBs, but using simple POJO classes with XDoclet tag markup for automated persistence in an EJB container Using POJO classes with Prevayler based persistence inside a servlet/JSP container Complexity is only good when you need it! I am finding the use of Prevayler to be more than fantastic. I am using Plain Old Java Object (POJO) business logic classes that can be

How to increase our national security

I am not happy with what the Bush administration is doing to protect our national interests and safety. I suggest a few alternative ideas: Energy independence: I rode around in a friend's Toyota Prius yesterday. Instead of giving huge tax breaks to people who buy SUVs, reward people for buying fuel efficient cars. Create a large scale Peace Corps: do everything we can to restore our international image and try to regain at least some trust in the international community. Trust the professionals in our military and intelligence agencies and use Congressional oversite where public transparency can not be used for security reasons. Allow government agencies to collect data to fight terrorism, but recognize that we want to remain a free society: insist that judges are consulted for search warrents, permission to invade privacy, etc. Also use Congressional oversite. I realize that what I am proposing is very contrary to the actions chosen by the Bush administration - stil

cheap hardware and free software: disruptive technologies

I paid $199 for a new Linux PC last year when my 4 year old Linux server died. Increasingly, deploying web applications is a reasonably simple process of integrating the right Open Source Java infrastructure tools (for me, these are usually Tomcat, Axis SOAP support, Joram JMS, etc.) and some custom application specific software. In my Java consulting business, it has been several years since any customer wanted to deploy on anything but Linux and free Open Source infrastructure software. Robert X. Cringely recently wrote an article about the (roughly) $70 Linksys WRT54G 802.11g wireless access point and router that includes a four-port 10/100 Ethernet switch. He points out that Linksys uses Linux in this device, plays fair by the GPL, and publishes the firmware code for the device. I like the idea of supporting light weight web applications, etc. on such a low price, compact, and low power device as the Linksys WRT54G! Too light weight (too little RAM, etc.) for Java, but it i

I turned off my old blog service at

I have been happy enough with the service, so I just killed the SnipSnap service on my test/demo server. My test/demo server runs on a broadband connection that is not always reliable (we live in the mountains, so I am not complaining about the service :-) BTW, if you want to run your own blog server, I recommend SnipSnap because it is trivial to set up and use (just requires Java 1.3.x or higher).

I am appreciating JavaScript more

For years, I have been turning down occasional offers of work writing JavaScript because I did not like the technology (mostly because of browser compatibility issues) and did not want to spend the time to become an expert. Well, browser compatibility issues still exist, but I am looking at great light-weight JavaScript applications (like GMail) and utilities (like xTree, and JSpell as used by, and I am starting to appreciate JavaScript as a platform tool. For most of my work, I still really enjoy using server side Java, but I am keeping a more open mind to also using more JavaScript to cut down the communication requirements between browser and server.

Economy: short term view is mandated by politics

Regardless of which political party occupies the White House and/or controls Congress, everyone runs up huge deficits by both drastically devaluing the real value of currency and failing to collect sufficient tax revenues. Politics has a lot to do with it: better to fake-it and make the economy appear to be OK right now, and screw the future. Real, physical value of U.S. assets has declined sharply in the last few decades, and the downward trend is accelerating. Couple this with a huge increase in the money supply that is starting to look too much like Germany in the 1930s - printing money like crazy is the Federal Reserves short term fix for keeping the foreign debt imbalance and consumer credit bubbles from popping (for now, at least). A few weeks ago, my friend Tom criticized me for referring to "bubbles" because simply using that term is negative thinking - I have to agree with him that negative thinking collectively has a bad effect. (I am spiritually oriented,

Paper on extensible languages

Slashdot linked this article Extensible Programming for the 21st Century this morning. As the author Greg Wilson points out, Lisp languages have provided features for many years that exceed those of new XML based languages. There is an old saying: People who do not know Lisp are doomed to reimplement it. I do use Common Lisp (e.g., my commercial KBtextmaster product). I would use Lisp for most of my projects, but my customers almost always ask for Java (which is OK, because of the wealth of free class libraries and infrastructure code for Java).

UPI: Amnesty International Report: really sad

I love my country, and reading UPI's take on the just released Amnesty International report really makes me sad. The report blasts both the Bush administration and international terrorist groups. I voted for Bush (but I will not make that mistake again!) and unfortunately I must agree with this United Press International viewpoint/editorial. Really a sad day (I should have stuck with happily working on my Java project and skipped reading the news today). I am at heart an optimist. Although I believe that the Bush administration has hurt our country a great deal, I still hope that as a country we can pull together, un-elect the worst president ever in the U.S. and once again act responsibly in the international community.

Writing custom JSP tag libraries: yeah, like cleaning out the garage

Because of circumstances not totally in my control (*), I have been hurrying a lot the last 3 weeks writing lots of JSPs for a web application. Except for the struts and struts-menus tag libraries, I have been embedding a lot of Java code in my JSP pages (yeah, I know... not the best). Anyway, I have allocated about a half day today to start factoring out working embedded Java script code in some of the JSP pages into new custom tag libraries. This is really simple to do, and has lots of advantages, including: Makes the JSPs much tidier and easier to maintain Segregates the Java code and enables unit testing Anyway, I got the same good feeling that I get after cleaning out the garage :-) (*) I have had ideas of writing an open source knowledge management for about a year. About 6 weeks ago, an old customer approached me to do this as a GPL project - the deal was that I would only charge for about half my development time, but that the project would be GPLed (a good deal fo

New Springer-Verlag catalog: 9 new books on the Semantic Web

I received a new Springer-Verlag catalog in the mail a few days ago - I just noticed that there were at least 9 books on Semantic Web technologies. I am interested in the Semantic Web for many reasons: I have been interested in AI for 25 years (I have written a couple of Springer-Verlag AI books, BTW). I think that the Semantic Web is a good application area for AI technologies. I am a Java developer - most of the free Semantic Web software tools are written in Java (with few very useful exceptions). I have always found that working on bleeding edge technologies to be a lot of fun - and in today's IT economy, I think that it pays to be a specialist. For Java developers, a good place to start is the HP's Java Jena toolkit .

MSNBC: "General is said to have urged use of dogs"

I have always thought that the Bush administration was trying hard to make scapegoats of a few low-level soldiers. To me, it seems like the problem starts at the top: having the president and high ranking officers dehumanizing people in Iraq ("the evil doers", "the bad guys" - sure there are some evil people in Iraq, but why put the entire population at risk by making dehumanizing comments). This article spells this out fairly clearly. The Bush administration should remember the historical lessons from Watergate - do not try to cover things up! Also: the decision of the Bush administration to not abide by articles of the Geneva Convention, in my opinion, puts our own soldiers at a much higher risk. Again, I believe that these decisions come from the top. I doubt that anyone in the Bush administration will ever admit any wrongdoing or poor decision making - I just don't think that they have the moral character to admit to mistakes.

Still loving the Prevayler Java object persistence framework

I have now been using the Prevayler object persistence framework for Java for about a month on my GPLed knowledge management project. Using a relational database via plain old JDBC or a object relational mapping tool like Hibernate seems really heavy weight in comparison. I became interested in Prevalence because for my application, I have frequent "object reads" and it made sense to keep data in memory for fast access. The Java Prevalence implementation Prevayler allows you to trivially write changes to objects to disk so if your JVM process crashes, all application data is restored when your program is restarted. Prevayler maintains hash maps to access any objects through a unique key. Anyway, Prevayler is great for high performance systems where it makes sense to store objects in memory but requires a persistence mechanism.

Microsoft's Office and web services plan; risks of proprietary formats

This InfoWorld article discusses Microsoft's plan for using Office components as front ends for business systems using web services as the communications glue. Not a bad idea, but I would like to see an open source solution: with support for XML-RPC, SOAP, and an asynchronous messaging system like Java's JMS. As an author, I use Microsoft Office (usually just Word) because that is what publishers want. However, I wrote 2 of my last 3 books using for the actual writing and then used Word just to insure that the file formats were what my publishers wanted. My problem with Office is the proprietary file formats - I believe that companies, government organizations, and individuals all put themselves at risk by storing important information in files with proprietary formats. When I use Linux or Windows, I find that is every bit as good (for my work process) as Office. Unfortunately, under Mac OS X, I find myself using Office

New version of Protégé Ontology editor, and other semantic web tools

Worth a download: a good an ontology editor and a knowledge-base editor . Written in Java, with an easy to use plugin architecture (just follow the tutorial). Other semantic web software that I recommend: HP's Java semantic web toolkit Swi-Prolog Semantic Web Library Sesame RDF store and query system

PBS news: perfect response to Bush's B.S. speech

First of all: Bush is going to give 6 speeches (one every week) on prime time T.V., with no Democratic response? So much for fairness in political campaigns! The Bush team re-writes the rules in their favor, be it in mega giveaways to the energy industry, or re-writing the rules that the U.S. has always before played (fair) by: Geneva convention to protect our own troops, etc. PBS news played most of Bush's speech (in my opinion, it was very full of factual errors - I guess that if you bull-shit enough, people start to believe it). Anyway , PBS, right after Bush's free campaign speech on prime time T.V., had a live interview with a liberal reporter in Iraq who simply (and it sounded truthful to me) discussed how much average Iraqis dislike the U.S. now and view Bush extremely negatively. I voted for Bush in the last election (yeah, I know - a brain fart on my part!) but I truly believe that he will go down in history as the worst president in U.S. history. I hope and

Why not use SnipSnap on my own server?

I run a server out of my home and use it for Java server side demos ( ). Unfortunately, since I live in the mountains of Northern Arizona, my broadband service is sometimes intermittent - so, I am going to try for a while. I have been very happy with SnipSnap and I might go back to using it later.