Friday, July 30, 2004

Why it is OK for Republicans to vote for Kerry

Conservatives often correctly criticize Democrats for excess domestic spending programs - good ideas for helping people, but more than we can afford.

Some undecided Republicans, while rightfully disappointed by the weak presidency of Bush, might be worried about voting for Kerry. I have a few simple points to make:

1. If Kerry is elected, it is unlikely that the Democrats will control both houses of Congress. When it comes to government spending, grid lock is a good thing. I believe that spending on social programs will be controlled and measured.

2. The US economy sometime (and when is impossible to predict) will suffer considerably when more countries start to get off of the US dollar standard for purchasing energy, hoarding cash, etc. The US Treasury has been printing a lot of money that is not really backed up by anything for a long time. Think of it as the whole country getting high on excess credit card spending. Think about it: when the Fed increases the money supply that simply means that they start printing money with nothing to back it up. I would guess that this process (of switching away from the dollar) will (unfortunately) begin in a year or two, but who knows. Anyway, there will not be much extra money to spend.

The advantages of voting for Kerry:

1. He is less likely to break with long standing American values like starting wars for dubious reasons.

2. Bush is very good for big business and people who own a lot of equity. He is probably not the best choice for over 90% of Americans.

PDF files should be offered in two formats for 'laptop viewing'

I would like the option of downloading PDF files in either "printer format" or "viewing on a laptop screen" landscape format.

I distribute a few free web books (on as PDF files - I am making a note to myself to reformat them with a smaller number of lines per page, and in landscape format for easier reading on a landscape computer display.

Really, how often do people print out PDF files to read? I probably print 5% (maximum) of the PDF files that I download - the rest I read online, making the font large so I only see part of a page at once.

Wednesday, July 28, 2004

I prefer writing server side web apps - that is why I like Java

I am an old Lisper, and recently I have been enjoying Squeak Smalltalk too much. So why do I enjoy (and use) Java so much?

I used to write GUI apps (commercial products on Xerox 1108 Lisp Machine, Mac, Windows), but now, I most enjoy writing web apps for a variety of reasons: I like maintaining application data in one place. I like exposing application classes with both web interfaces (i.e., JSPs, struts, etc) and SOAP/XLM-RPC/REST interfaces. I like the ability to do live updates. I have dreams of selling software services for NLP and AI: writing complex software that 'lives' on a server under my complete control, yet usable by many people.

Sure, with Java you give up late binding, continuations, etc. However, the awesome and free tools like Tomcat, Prevayler, SOAP/XML-RPC/REST libraries, incredible development tools like IntelliJ, etc. make using Java a slam dunk for some types of projects.

There are alternatives. I once signed up for a year as a VisualWorks Smalltalk VAR - great web services support and good development and deployment tools. Problem was, my customers wanted systems built in Java - that was what the demand was for. The free Squeak Smalltalk system is a rougher, but very good alternative to VisualWorks: good SOAP support, decent tools for doing web apps, lot of fun...

Popularity in a programming language can be a good thing, and Java definitely has popularity.

I have always respected people's choice in programming languages and tools. Unlike a lot of people on Slashdot, I think that knocking someone's choice in programming language is as silly as dissing on their politics, choice of mates, or religion.

Diversity is what makes the world interesting.

That is one more reason I like developing web applications and services: you really are free to use the right tool for the job (with customer approval :-)

Corporate owned news media has voted: Bush wins!

Some friends of mine who are Democrats (and are still unhappy with me for strongly supporting Bush in the last election) are pissed off by the obvious bias in the Corporate owned news media reporting of the Democratic Convention.

I have to disagree: there is no conspiracy here, just good business decisions by large corporations:

If you are a non-US based corporation (that is, all large corporations), or own over 3 or 4 million dollars worth of stock, supporting Bush for re-election is simply a slam dunk. Lots and lots of money involved - no conspiracy what so ever.

I have switched from a strong Bush supporter to now wanting to vote for a centrist Democrat (who actually is closer to my idea of a Republican as far as core values than Bush who has showed his colors as a radical extremist).
Really, I am so disappointed by the presidency of Bush:

  • What's up with making John Ashcroft Attorney General? His lack of respect for civil liberties almost reminds me more of Nazi Germany than the America that I love: the America that embraces the Constitution of the United States.. that embraces the Bill of Rights.

  • What's up with appointing ex-industry lobbyists to over see the industries that they used to work for? Should corruption really be so obvious? Can't they even be a little more subtle?

  • What's up with making America the bad guy in the world? I want to get along in the world -- with our economy supported by the Japaneese and Chinese central banks buying dollars to support their investment in our currency, we can not afford to piss off the world.

Anyway, even though I am very much against Democratic social programs (only because we can not afford them - I spent a year as a teenager teaching in a Head Start program - my heart is OK with helping everyone, but as a country we can not afford it), I think that voting for Kerry is a slam dunk decision.

I believe that the radical extremist policies of Bush have already severely damaged our country. I believe that on a personal level that Bush is a good man, but his policies are hurting our country.

Tuesday, July 27, 2004

IntelliJ 4.5: tasty!

I have only been using the free upgrade from version 4.0.X to 4.5 for a short while, but my favorite new feature(s) is (are) tighter web app development integration.

Configuring a web app module for a local tomcat instance is easy, and the new feature of auto launching a browser with the URL for the locally running web app is a good timesaver.

In my opinion, IntelliJ is the best way to develop Java. I have given up running Emacs and JDE. And I am down to using Eclipse and NetBeans to **maybe** 5% of my Java development (probably less).

Saturday, July 24, 2004

OpenOffice 1.1.2 available for Mac OS X

I have had to do a lot of work under Windows lately (my customer wanted to use a commercial library that only runs on Windows and Linux - and IntelliJ seems to run a little better under Windows), and one of the first things I did was to uninstall Microsoft Word and install OOo 1.1.2 for Windows - really, such a nicer word processor (I have written 2 out of my last 3 books using OOo).

I have been using beta versions of OOo under OS X, so I am pleased to see new stable release.

Sunday, July 18, 2004

Building gcc-3.4.1 from source: Java gcj

On a Linux box, I am building the GNU comiplers and libraries from source (I need to use a third party library, and I am running a couple of year old SuSE Linux distro).

I have played with the GNU gcj Java native compiler before, but (when I get time) I will enjoy experimenting with an up to date version of gcj and the CLASSPATH libraires -- certainly is taking a while to build all of the Java libraries!

Saturday, July 17, 2004

IntelliJ 4.0

I upgraded to IntelliJ 4 a few days ago. Actually, I always considered IntelliJ 3 to be just about perfect, but version 4 has a slightly nicer UI and many small improvements.

I am now using the Tomcat integration for JSP/struts development. When I start a Tomcat 5 instance in a command shell with my web app, it takes about 20 seconds to start up. When I start the same Tomcat instance in IntelliJ, it starts up in 6 seconds - I am guessing that this speedup comes both from not having to start a new JVM, and running Tomcat in embedded mode.

Anyway, combined with a symbolic debugger for JSPs, the faster code/run cycle is great for my general work process. Most of my work involves either web applications or web services, so small improvements add up.

I like Eclipse and NetBeans, but I think that IntelliJ beats them, hands down: I find myself much more productive using IntelliJ. For a few years, I used Borland's JBuilder (Borland gave me a free Enterprise JBuilder license because I had written so many Java books). I have not used JBuilder in a long while - it might be comparable to IntelliJ.

Tuesday, July 13, 2004

I am back from Alaska

I was in Alaska for a week with my wife, parents, brother, and sister in law.

I had been in Alaska twice on business (during the winter, but still fun), but this was the first time I had been there on vacation.

A whole week without touching a computer! Nice vacation :-)

Saturday, July 03, 2004


I covered SOAP, XML-RPC, and REST in my last book ("Java 10-Minute Solutions") - really, I like all three schemes for implementing data transfer over HTTP (I only use HTTP transport for SOAP, although other transport mechanisms like SMTP are also possible).

Mostly because of the wealth of free infrastructure software, I just about always do server side development using Java. However, I am also a huge Lisp enthusiast (I wrote 2 Springer-Verlag Lisp books a long while ago, and have enjoyed Lisp since the late 1970s). Although Smalltalk (for me) comes in a close second, I just prefer Common Lisp over other programming languages for algorithm development and research programming.

Usually, once I have figured out how to solve a problem, it is easy to re-write in Java. Generally, this is a good solution because like it or not, Java is becoming a universal language. However, sometimes I just like to leave research code in Lisp.

Enter my thoughts on SOAP, XML-RPC, and REST: except for the rather expensive Franz Lisp (which I have a free long term non-commercial use license for), SOAP support is not so good in the Common Lisp world.

The situation is much better with XML-RPC: Sven Van Caekenberghe has written a very nice light weight XML and XML-RPC package that is reasonably portable.

Even simpler is to use REST. I spend a few minutes hacking an old Common Lisp HTTP server program this morning to add POST support. Not too difficult as long as the binary data is not a special MIME type.

Then, I stepped back even farther, and wondered why not to just use REST with HTTP GET, as I have done in the past. The advantage is that it is trivial for client programs written in any language to send an HTTP GET request over a socket connection (just need to escape special characters). For practical purposes there is no real size limitation for passing data.

BTW, if you are not familiar with it, REST supports sending functional-call type requests over HTTP, with the return value being an XML payload that the client is presumed to understand. This is not as tidy as SOAP with WSDL support, for sure, but much lighter weight.

Fahrenheit 9/11: skillfully done: I recommend it to both Democrats and Republicans

Politically, I did not think that the movie was such a big deal: people who dislike Bush will agree with the movie and people who love Bush will think that the movie is unfair.

However, I must say: Michael Moore is a very, very skillfull film maker. I recommend the movie for both people who dislike Bush and for strong supporters of Bush: interesting intellectually, for sure!

I think that the quality of this move is so good that it sets new standards. Anyway, do not go see this movie for political reasons - go see it because it is a well done film. I think that this movie is now part of our culture; for my Republican friends: do not miss out on seeing this movie just because it tries to make Bush look bad.

BTW, profits for the movie go to charity (deal between Disney and the Weinstein brothers to get the movie distributed).

Friday, July 02, 2004

Outsourcing time zone advantages, reverse outsourcing

I am working for a company in India -- not as an employee, but on a full time (and long term) "retainer" basis - I remotely do whatever design and development work that they want me to do.

The time zone difference is sometimes useful: any problems that they find, or improvements that they want to the Java based web application that I designed and wrote for their business processes can be done (by me) during the day, during my customers' overnight work break. This gives me a more leisurely feeling about making changes and doing local testing. I also start work very early in the morning (because I sometimes like to hike during the day), so we do have some overlap working time.

While historically most of my work is for U.S. organizations, in the last 5 years, I have also had the pleasure of (remotely) working with people in India, Brazil, Russia, Romania, Chile, England, New Zealand, Australia, Singapore, and probably other places that have slipped my mind. Lots of fun, but it is a bummer to not get face to face time with most of these people. I still enjoy onsite work in order to get "white board time" in with colleagues.