AJAX Development

With the success of maps.google.com intrest has begun to grow in Ajax programming. Functionally AJAX programming JavaScript, DHTML, and XML to “communicate” between a web browser and a server without the need to refresh the screen (actually AJAX is about a great deal more than that, but this is the part that everyone seems interested in.)

To get a good intoduction into AJAX I have found a couple simple tutorials. Using AJAX is a basic tutorial (with examples) for getting web developers familiar with using and developing AJAX. Guide to Using XMLHttpRequest is a baby steps approach to setting up the communications interface between JavaScript and your application server. Finally, be sure to check out Dojo Toolkit, probably the most mature AJAX based API currently available. It dramatically simplifies the process of developing AJAX applications.

The Limits of Freedom

Nowdays it is sometimes held, though wrongly, that freedom is an end in itself, that each human being is free when he makes use of freedom as he wishes, and that this must be our aim in the lives of individuals and societies. In reality, freedom is a great gift only when we know how to use it consciously for everything that is our true good.
-Redemptor Hominis

Freedom negates and destroys itself, and becomes a factor leading to the destruction of others, when it no longer recognizes and respects its essential link with the truth. When freedom, out of a desire to emancipate itself from all forms of tradition and authority, shuts out even the most obvious evidence of an objective and universal truth… then the person ends up by no longer taking as the sole and indisputable point of reference for his own choices the truth about good and evil, but only his subjective and changeable opinion or, indeed, his selfish interest and whim.
-Evangelium Vitae

You don’t have to be a freak

Economics provides some of the most powerful tools for data analysis available to society. Yet historically these tools have been used almost exclusively in the realm of finance and business decision support. Freakonomics by Steven D. Levitt and Stephen J. Dubner talks about the work of Steven Levitt, one of the most respected economists alive. Levitt uses economic models and data analysis tools to find answers to some of societies most interesting questions.

I enjoyed this book enough to read through it in one sitting, in one night. And I strongly recommend that anyone with interest in socio-political issues read it. Freakonomics will make you take a second look at what you though was common sense. However, the book does have its notable shortcomings.

First, this book is little more than an extended version of the newspaper article by Stephen Dubner on Levitt’s work. If you are familiar with the article there is little reason to buy the book. Second, the book covers almost nothing about economic method. As such it leaves itself open to more criticism that it generally deserves. Third, Freakonomics is definitely dumbed down to make it readable (and probably profitable) to a wider audience. However, the lack of technicality makes the book an enjoyable weekend read and may even encourage the reader into a greater interest in economics and its usefulness.

KExtProcess: Part 1

kconfigure, my KDE build management tool, uses KProcess for its handling of automake, qmake, and checkinstall functionality. It does this because fundamentally these tools are command-line driven tools without a library interface for C++ to work with. The problem with KProcess is that, while it is probably the most powerful command-line processing library available, it is still very limited. Evidently I am not the only one with this problem as Martijn Klingens has released his updated KProcess-like tool KExtProcess.

The beauty of KExtProcess is that it not only handles command-line communication processing (i.e. STDIN, STDOUT, STDERR, etc..) but that it is network transparent. It also supports the concept of “profiles” that allow you to string together commands into a single “profile” that is loaded before the process is started. This allows things like: ssh’ing from one machine, to another, to a third before running a command locally on that third machine; or remotely accessing a machine as a one user, and then su’ing to root before beginning your process as root. While KExtProcess is still in its early stages, it will, no doubt, quickly achieve its place alongside KIO and DCOP as one of the powerful *nix desktop technologies in existence.

Patience and Power

“How often we wish that God would show himself stronger, that he would strike decisively, defeating evil and creating a better world. All ideologies of power justify themselves in exactly this way; they justify the destruction of whatever would stand in the way of progress and the liberation of humanity. We suffer on account of God’s patience. And yet, we need his patience.”

“The world is redeemed by the patience of God. It is destroyed by the impatience of human beings.”

–Pope Benedict XVI