Wednesday, September 29, 2004

My email to Microsoft requesting OOo file format support as a standard feature for Word

This is probably not of too much interest to many people, but the use of open file formats is a very big issue to me. I submitted this email by going www.microsoft.com, hitting the 'contact us' link, then selecting the 'suggest new feature for product' choice. If you happen to be one of the small number of people who care about file formats, please send them a message of your own! Here is my email:

Hello, I am an author of 14 published books - many of them written using Word for Windows and for the Mac.

While I basically like the functionality of Word, it would make my life very much easier if Word would also support the (soon to be an international standard) OpenOffice.org XML file format (gzipped XML files in a very clear format).

The problem is that I consider what I write to be **my data** and I would sometimes like to reuse **my data** in other ways. I find the OpenOffice.org file format to be very easy to process using simple programs written in Python, C#, Java, etc.

To repeat myself a little: the value of my word processing documents increases dramatically when I can access **my data** using simple programs.

In recent years, even though I own licenses for Word for Windows 2000 and Microsoft Office for the Mac (excellent!, by the way) I find myself using OpenOffice.org more and more because of the file format issue.

Money for software and writing tools is not an issue with me - I would rather spend money for upgrades for future versions of Word because it is such a polished writing tool. However, without simple and native support for the (soon to be international standard) OpenOffice.org file formats I am unlikely to buy future upgrades.

Thanks for your attention.

-Mark Watson

A great article by Senator John McCain on courage and social responsibility

I believe that the Senator gets this right. It is a fairly long article, but in my opinion well worth reading. I often do not agree with McCain's politics but he is one of the few politions at the federal level that I trust, and he is definitely on my "good guys" list.

Tuesday, September 28, 2004

Small and nimble: small but valuable companies in the future

Paul graham has a new essay that covers good things that came out of the Internet Bubble:
...doing good work will matter more than dressing up-- or advertising, which is the same thing for companies. That people will be rewarded a bit more in proportion to the value of what they create.

To me the interesting thing is the tension between two trends: on one hand huge corporations evolving into efficient world powers and on the other hand the naturally higher productivity of small loose working groups.

I believe that there is a unifying force that will undo the tensions between these two trends: to approach peak efficiency mega size corporations will federate into smaller business units (*) that may become their own cost centers and also take maximum advantage of consultants and other suppliers. Not to sound like a technical-marketing guy, but future technologies like semantics aware web services and SOAs really will allow work processes to become finer grained and distributed for maximum cost efficiency.

Larger organizations do not often become more efficient as they grow. One excellent example is the rise and fall of the nation state (that is happening now, only we are too close to the phenomenon to see it clearly). The British and then the U.S. empires did not have to be efficient - they only had to be able to exert more controlled violence than competitors.

I believe that world dominating mega corporations will not fall into the trap that nation states did: that of slacking off concerning efficiency. While I see the nation state going the way of the dinosaur, I believe that more efficient corporations will do well and I hope that competition will to some extent provide sufficient checks and balances (for at least quasi fair treatment of non-peak performing labor and also at least some protection of the environment) that the largely corrupt governments can not now control because of payoffs and influence peddling.

I may be very wrong about this, but I do not think so: long term, I believe that at least in potential the future looks bright indeed. Starting at the level of individuals, a tightly connected world will provide incentives for trying to achieve peak performance. With Internet technologies, clusters of peak performers can form small highly efficient work groups that might be either independent cost centers in mega corporations, or act as consultants and suppliers. I also expect to see more loosely coupled virtual corporations created by skilled workers coalescing together for tasks as needed.

The competition for quality will likely offer other incentives for decentralization. For example, the food industry has been going through a long period of consolidation that yields cheaper prices but much lower quality. I live in Sedona Arizona and spend lots of time in San Diego; in both locations the locally grown organic health food industries seem to be thriving. Some people really will spend a little more money for better tasting food. Mega scale corporations may end up owning this market but they will probably work through smaller and localized producers and distributers.

So issues of scale will reach equilibrium with desire for quality being a strong force.

(*) I worked for a long while at SAIC: at the time they organized in small cost centers that surprisingly often competed with each other for new work! The small work groups (I never worked in any of the larger divisions) tended to be efficient.

Monday, September 27, 2004

Automatically sorting out "Java blog entries" from "non Java blog entries"

Because of the intense interest in politics (at least for me :-) I have been writing more political blogs than usual. I think that the Java blog agregators should simply automatically filter out non-Java blog entries. For example, if a blog entry does not contain at least on of the words:

"Java", "EJB", or "J2EE"

then do not include it in an agregated feed.

I have recieved some polite requests to not submit political blogs. So far, I have been telling people who complain that after the 2004 elections, I will naturally stop writing about politics to a large degree.

However, like a lot of bloggers, I like to dump all of my blog ideas into one blog (covering a variety of topics). In addition to technical topics like Java, AI, Semantic Web, etc., I also like to sometimes mention my family, hobbies, and yes, even politics and the economy.

To me, the solution is for Java agregators to filter out posts based on lack of a few key words. The same could be done for Lisp agregators, etc.

Major update to one of the best AI programming languages and platforms: Swi-Prolog

New verion 5.4 pre-built binaries and source code are available at Swi-Prolog Home Page.

Windows, Mac OS X, and Linux are suported. If you are into the Semantic Web, the good news is that the semweb library is built in and works great to read and logically query RDF and OWL files. Very useful stuff.

Swi-Prolog also has built in libraries to parse SGML and XML, built in socket servers, socket client libraries, CGI, HTTP support, ODBC support, and supports SSL.

Prolog is not always the best language for a task, but when it is, Prolog programs tend to be very consise - get the job done with relatively few lines of code. In a sense, Prolog is also a late binding language like Python, Lisp, and Smalltalk.

Swi-Prolog is licensed under the LGPL.

HIGHLY RECOMMENDED!

Sunday, September 26, 2004

Good thing: European OSCE commision to monitor U.S. elections in November

Whether you voted for Gore or Bush, I think that almost all of us can agree that the disenfranchising of over 20,000 black voters in Florida right before the 2000 presidential election was a national disgrace that we never want to see repeated. A BBC News article has some good information and if you want to see about 600 politically charged responses to this article, head on over to Slashdot.

Seriously: transparency and honesty are all important for a democracy. Inspection of the U.S. election process by respected international organizations can only be a good thing.

I just Google-searched for more information about this; the following two sites were the first two hits and contain material that seems reasonable to me:

Disenfranchising Blacks as Political Strategy
Florida's 'Disappeared Voters': Disfranchised by the GOP

PS. I just noticed that the OSCE was asked by Secretary of State Colin Powell to monitor the election. Also, Congress has recently passed legislation to clean up problems like we had in Florida - so, we are trying and international monitoring of U.S. elections is the next logical step.

Use the right tools for a job: platform choice vs. available open source projects

I have to admit a bias towards using Java on the server side because I have so very much time invested in mastering the J2EE stack. That said, I will be using PHP for a major task for my customer in India because an existing open source project written in PHP gets us about 90% of our requirements 'out of the box'.

I suppose that this is a common enough occurence for consultants: to get a job done efficiently often platform choice is not as important as the availability of open source projects that match project requirements.

For my own research and product development (which unfortunately has been put on hold - I am working on a full time job until near to the end of this year) I have a common pattern: some back end process that I would like to make available through a web interface and/or a SOAP/REST/XML-RPC interface. Much of my research programming is done in Common Lisp because it is a very productive language (I also like to use Python and Smalltalk for research programming). I am a fast coder, so in the past I would prototype in a language like Lisp and then quickly re-code in Java (or whatever other language I wanted to deliver with). With faster servers, I now favor just leaving working code in whatever languages are best for specific development and to live with the overhead of SOAP (etc.) interfaces.

Saturday, September 25, 2004

Why don't we call 'tax cuts' 'tax deferments'?

Really, taxes are not being cut - they are being defered to future generations. It works like this: our government is spending lots of money while reducing revenue with tax deferments. This works by borrowing money (from foreign central banks, investers, etc.) that will either have to be paid back with lots of interest, or our government will have to declare bankrupcy (something that only the most extremist "cheap labor conservatives" want).

There is a lot of public talk by the most extreme neoconservatives in the Bush administration about "starving the government until it is small enough to drown in a bathtub" but I believe that these views are way out of touch with what average Americans want. Really, who wants to see the end of public education, etc.? (Well, the extremist "cheap labor conservatives" do but they hardly represent normal human or American values).

Wednesday, September 22, 2004

One of my favorite things about Java: packaging both code and data in JAR files

Sure, other programming languages like Python, Lisp, and Smalltalk as faster to develop in (for the usual reasons: late binding, more interactive development, etc.). However, one feature of the Java platform that I really like is being able to easily package both compiled code and required data in a JAR file.

Typically, I serialize required runtime data to a binary file and when I create a JAR file I add the binary serialized data file as a top level entry. To read the data into memory, I use something like this:

InputStream ins =
this.getClass().getClassLoader().getResourceAsStream("my_data.ser");
ObjectInputStream p = new ObjectInputStream(ins);
Vector my_vector = (Vector) p.readObject();
// etc.

Then, I can just use the JAR file in other applications and I have both code and required data.

Tuesday, September 21, 2004

Getting people to think

After seeing the (good!) new movie Sky Captain and the World of Tomorrow this weekend, I was reading an interview with the stars Gwyneth Paltrow and Jude Law. The interviewer asked them what they thought about movie stars going public with their politics. Gwyneth Paltrow said something that I thought was right on: she thinks that it is OK if stars want to politic but she said that she would simply like everyone to think for themselves.

That really is what I want also: regular people should be able to respect other people's opinions about politics. I find the polarization going on now in the U.S. more than a little disturbing. I would hope that a liberal and a conservative could sit down and discuss mutually interesting issues like:
  • Benefits and drawbacks of tax cuts
  • Pros and cons of strong environmental laws
  • How to fight crime - effects of longer prison terms vs. community outreach, etc. (what makes our families the safest?)
  • Advantages and drawbacks of military operations in other countries
  • etc.

The political bosses might want people to feel polarized, but after talking with a (more) conservative friend a week ago, I started thinking about how much common ground there is between so-called liberals and conservatives. I also think that is it simply good manners to respect other people's opinions even if they differ from our own. Fear can literally be a killer. Try not to fear people who may think differently than you on a few issues. People who are afraid are generally not thinking straight.

Saturday, September 18, 2004

Amazon's A9.com search portal is cool

I know, this is old news, but I have been giving A9.com another look. Privacy advocates probably do not like A9.com because the first thing the site does is to read your amazon.com cookie so A9.com knows who you are.

A9.com maintains a search history and is especially nice when search results are from inside a book - you can often read relevant pages out of books. A9.com uses Google, the internet movie database, the amazon.com database, and other information sources.

I have been using the Google SOAP web services API for about 18 months - very cool to be able to use Google easily in my own programs. I would like to see Amazon offer something similar. Amazon does have both a SOAP and a REST API for accessing its main site, but I don't think that this is tied in with their search site yet.

Friday, September 17, 2004

Being an OS X user I forgot about the hassles of Windows and Linux

Really! I use a few Mac OS X computers for my business, but I keep a Chinese PC clone (*) around for the odd job requiring Linux or Windows.

My wife was sharing the PC, but decided that she was just going to use her HP laptop in the future. So, since all my stuff on the PC was old and crufty, I decided to wipe the disks last night after dinner and clean install SuSE Linux and Windows 2000. What a hassle - it took me an hour, and I don't have everything I need re-installed except for the firewalls and security updates. I decided to just install software as I need it since I use Windows and Linux so seldom now.

Yes, I am a happy Mac user :-)

(*) a nice machine: a little slow, but uses very little power, runs cool, etc. cost me $199 at Frys Electronix

Thursday, September 09, 2004

Demand for U.S. Treasury Notes by foreign banks at a historic low

Former President Clinton shocked the hell out of me a month ago when in a speach he refered to the U.S.'s inability to apply any pressure on China because they are our banker. I can not remember the last time I heard a politition from either party be so honest and forthright about an issue that no one wants to talk about: for the last few years foreign banks have been propping up the dollar by buying U.S. Treasury Notes to try to maintain the value of their existing investments. If not for foreign central banks in countries like Japan and China, our economy would have probably have been screwed several years ago.

While our current adminstration has been telling the lie that our economy is just fine, the reality is unfortunatey otherwise.

It is impossible to predict the economy: it is just too chaotic. Still, we can use common sense to figure out what "ought to happen" (*). Low demand for U.S. Treasury Notes is very troubling indeed.

(*) If you can handle reality and not political "feel good" bullshit, I recommend the book Financial Reckoning Day. Hopefully the authors will not mind my summarizing some of their excellent advice:
  1. Prepare for the future by reducing or eliminating your consumer debt
  2. Once you do the first step, try to relax and watch the "show" (e.g., enjoy some Java programming and don't worry about the economy because you have done what you can to protect the future of your family)

Wednesday, September 08, 2004

AI research at Microsoft: question answering system

I just saw this interesting Economist article linked on the latest AAAI alert email.

Eric Brill is one of the best known people working in statistical natural language processing, and Microsoft's ambitious question answering system looks interesting!

BTW, I have a simple question answering demo that I created on my www.knowledgebooks.com web site.

Budget deficit is $422 billion - or $571 billion counting borrowing from social security

Why do we keep hearing the number $422 billion? I am not picking on just the Bush administration here: the democrats tend to not be transparent on budget issues either. It is a common belief among law professors and economists that if corporations divulged their finances like the federal government did, that there would be a lot more people in jail.

What is wrong with more transparency? Obviously the politicians would not like it, but think about how much better our government would be if:
  • Outlaw voice votes in Congress - this is a way to hide voting records from constituants.
  • By law, force Congress to publish clearly on a web site all voting records and have appropriate selection filters so that people could quickly see how their representatives voted. Correlate voting wih data on campaign contributions.
  • Require people in government to sign off on finance data and make it a crime to lie about it.
Polititions are very well paid and have great benefits - I don't think that I am asking for too much with my suggestions. We pay enough - we deserve transparency - I may be too optimistic here, but I think that if enough people complain to their elected representatives that they might go along with my suggestions if they think that they will not get re-elected if the do not suport transparency in our government.

And by-the-way: arguments about "deficits do not matter" are so much bullshit. Sure, if you are old, have no kids or grandchildren, and basically do not care about the society you leave behind: then deficits do not matter. I find it kind of scary that people will even promote the idea that "deficits do not matter": really out of touch with reality and common sense. We will see a crash in our economy in the next few years no matter who wins the next election; it might not be a "fun" or popular idea, but I think that we should try to make recovering from the next economic crash as soft as possible: for example; try to keep the deficit down!

Tuesday, September 07, 2004

Java article, SOAP, XML-RPC

I saw this article on Patterns and Strategies for Building Document-Based Web Services linked on ServerSide.com this morning.

I had a little thrill when I first saw the title: most of my recent work has been designing and writing a web based document repository (a 'Knowledge Management' application). I am extremely interested in managing different document types, searching, automatic categorization (not done in my current project), etc.

The linked article is on a different subject, but still very interesting: on document based interactions instead of RPC type interactions. In other words, using SOAP for RPC style communication is (in my opinion) an overkill. I think that SOAP is best used for requesting a complex structured document. Something like XML-RPC is much better for simply RPC-type communication. This point is discussed both in the linked article and Michael Daconta's (et. al.) useful book The Semantic Web.

Kerry and Bush: keeping fairly quiet about urgent economic problems

This will piss off supporters of both Kerry and Bush, but, I am a little pissed off myself.

There are largely ignored but still overriding issues today that affect the security of Americans: the economy and scarce resources. Sure, both candidates are talking about unemployment, but there are potentially more dangerous issues affecting our security:
  • Huge trade imbalance
  • Reliance on Chinese and Japanese Foreign Banks to prop up the dollar
  • Lack of conservation of limited resources: water (in the South West at least), oil for food production and transportation, and natural gas supplies

Both candidates avoid the hard issues, with the lower grade going to Bush (his reelection team will do absolutely anything to keep the public mind off of economic issues). Still, Kerry is little better, and personally I give him a poor grade also for failing to address threats to our security. (If you think that the security of the U.S. is more threatened by terrorists than the issues that I just mentioned, then we disagree!)

I think that we deserve a lot more than "politics as usual".

Monday, September 06, 2004

Why do I have to read foreign news to get accurate information on my country's economy?

From the BBC

I blame the Democrats(*) and Republicans(*), and our feeble news media.

It is true, that some news sources like the Christian Science Monitor and the New York Times are pretty good at giving us straight talk, but I admit that I am talking in generalities here.

(*) Bill Mahr says that the Republicans are the "feel good" and "party" people: they bullshit about the current economy being OK, bullshit about how we are totally screwing over the Iraq people right now, etc. But, they make people feel good! WooooHoooo!

Mahr describes the Democrats as being downers: they point out and fret about real problems, and make people feel bad.

I think that Mahr has put his finger on how the Republicans hold political power! Really, think about it:

Most polls show that the vast majority of Americans support a woman's right to choose. Most Americans favor universal health care (I don't, but that is another issue...). Most Americans are grossed out by corporate malfeasance. Most people support stem cell research.

Still the Republicans win - even though their platform is largely out of touch with what Americans want. Bill Mahr correctly points out that they largely do this by using fear mongering. The Republicans want people to be scared. I am not too much of a history buf, but still the parallels with the Nazis seems apparent to me: Goebel, their propaganda minister, was quoted as saying that if you lie to the people enough, eventually they will believe you. The Nazis also consolidated power by fear mongering their own people.

It seems all too evident to me: real leaders who care about their people do not go out of their way to strike fear into the hearts of their people. Fear is a crippling influence that while can be used short term for political expediency, is just plain and obviously not in a country's best interests.

Saturday, September 04, 2004

Tailoring web apps to use FireFox; comments on Open Source

I spend a fair amount of time working on interactive web applications and I would love to be able to standardize on using a single browser. FireFox would be the obvious choice because it is fairly standards compliant and available for most platforms.

I saw an article on Slashdot this morning on Mozilla SunBird: a standalone calendar application that can use any WebDAV server to support a shared event space for multiple users. I just spent a couple of days creating a web based multi-user calendar from scratch for a custom project - it would have been good to use something already written, but it was also nice having total integration with our business data models, etc.

In any case, there are many great open source projects that enable consultants like me to put custom systems together quickly and inexpensively. I just started offering a 1/3 discount for any work supporting open source projects - I am booked solid work-wise for several months, but when I do have time available, I hope that customers take me up on this discount offer - I really do believe that individual consultants and small (perhaps even medium) sized companies win BIG with open source.

Thursday, September 02, 2004

JDK 1.5

Or Java 5.0 if you prefer... I am fairly much enthusiastic about version 1.5, mainly because of the auto boxing and unboxing between native types and objects and generics. I guess, the big thing is the ability to make Java programs shorter. That is one reason I love to program in Common Lisp so much: programs can be very terse. I look forward to more terse Java programs.

I basically 'live' in Mac OS X, so I need to wait until Apple has a robust JDK 1.5 distribution. That is OK - by that time, most of my customers will probably be fine with deploying JDK 1.5 with Tomcat 5.5 (which is compatible with JDK 1.5).

I like stable programing languages, and I hope that Sun freezes the core language now.

Wednesday, September 01, 2004

Russell gets it right

Usually I don't simply post link to other people's stuff, but this is just too good not to pass on.

Why Open Source will win in the Knowledge Management and Document Management space

I have friends who believe Microsoft's hold on knowledge and document management via proprietary document formats and the mass acceptance of Microsoft Office is unbreakable. I wish to throw out a contrary point of view:

First, I believe that the open XML document formats of OpenOffice.org, AbiWord, etc. will make it so much easier for ancillary applications to index documents for search, extract structured information (e.g., Phoenix), etc. that there will be more pressure from IT professionals to move their companies towards open document formats. For example, in Java applications, it is trivial to extract and manipulate OpenOffice.org documents: open a gzip input stream, feed this through a SAX or DOM parser, use either custom code or XPath to pull required information, etc. Try getting useful information out of Office documents! (If Bill Gates really wanted to support Microsoft customers, he would move the company towards standard documented file formats - not good for Microsoft's business, but good for society at large.)

Secondly, consider free open source knowledge/document management systems like OPEN-XCHANGE that will work natively with OpenOffice.org like the expensive Microsoft SharePoint works with Office. With companies like Novell behind OPEN-EXCHANGE, development funding is likely to be adequate for good progress.

Third, we are moving towards commodity software: preferably open source. I believe that this is a good thing for developers who can concentrate on augmenting and tailoring open source systems to specific customer requirements.