Wednesday, March 17, 2004

How Clean is the Future of SOAP

Simple Object Access Protocol (SOAP) is the primary transport mechanism for the Web services architecture. It is a lightweight protocol that can replace more complicated, distributed object technologies for many applications. However,
SOAP’s use of Web servers to tunnel through firewalls may limit its usefulness because it potentially opens corporations to external access. As it becomes more ubiquitous, SOAP may increasingly find itself in the sights of security personnel.

Albrecht, C. C. (2004). "How Clean is the Future of SOAP?" Communications of the ACM 47(2): 66-68.

Need a refresher on web services? Try:

Newcomer, E. Understanding Web Services: XML, WSDL, SOAP, and UDDI. Addison Wesley Professional, 2002.

Tuesday, March 16, 2004

Cellphone Update: Radiation Hazard vs. Healing Device

The cellphone is one of the most significant electromagnetic radiation hazards in the world today because of widespread use and close proximity of the head to the phone. Over the past few years, I've posted information on devices to add to your cellphone to minimize the effect of cellphone radiation which has been clearly shown to have negative effects on cell function. You can test it for yourself on your own blood samples.

A new device called a Green8 does a better job than any previous device I have tested. It not only minimizes the electromagnetic hazard, it balances your meridians, i.e. it turns the cellphone into a healing instrument. Electromagnetic fields can be helpful or harmful to cells depending on frequency, power, and exposure. This device appears to make the cellphone helpful rather than harmful!

The Green8 neutralizes the radiation from a cell phone by creating a form (holoform) for the radiation to propagate through. Normally radiation is very chaotic and noisy and full of distortion. This noise interferes with our electrical bodies (all animals are electro-chemical) so we get fatigued. The Green 8 is simply placed inside your cell or cordless phone's battery compartment and the radiation is neutralized. The Green 8 and PST products organize the radiation into a coherent signal with less noise so that the body can cope with easily. The testing shows that our body function is maintained at a normal, health state.

The graph above shows one such test that was performed in Helsinki, Finland in 2001. It shows energetic balance or healthy body function when the reading comes between 45 and 55. The first reading of 51 is a baseline reading which shows balanced body function with no radiation nearby. The second reading of 60, which shows abnormal body function, was taken when the cell phone was on but not calling (in the individual's lap). The next reading of 63 shows another stressed or abnormal body function. This reading was taken while the phone was transmitting a call showing us that the body function state while a cell phone is "ready to receive" but not calling is almost as elecro-magnetically stressful as a phone which is actually making a call! The 4th and 5th readings show that when the Green 8 is installed the body function is back in balance both while in "ready to receive" and "make a call" mode respectively. These tests were performed by a doctor who was using the "Best System" designed by the Biomeridian company (

Monday, March 15, 2004

Scrum Goes International

Was ist Scrum?

Scrum ist ein iterativer, incrementeller Management-Prozess für die Entwicklung von Produkten oder für das Managen von Arbeitspaketen.
Dieser Prozess produziert am Ende einer Iteration ein potentiell auslieferbare Set von Funktionalitäten. Dieser Prozess ist team-orientiert, beinhaltet ein Anforderungs-Management und ist darauf ausgelegt, die Zusammenarbeit aller Beteiligten zu fördern.
The Scrum Gathering 2004 in Vienna, Austria

Thursday, March 11, 2004

Software Tools: log4j standardizes logging, eliminates rework, and improves performance

Every great developer I know bends over backwards not to write code. Every line you write has to be maintained for the rest of your life (or someone else's life). Yet how many developers in your organization are writing, rewriting, and debugging logging code. And who really has time to optimize performance for this low level stuff.

Object technology is supposed to enable components which should increase productivity. Open source has made the software free. Not only that, for code that is written over and over again, large numbers of open source programmers make the software better than any individual programmer can write. Of course, you may be the exceptional programmer that can write code better than anyone on the planet. But should you apply your extreme added value to write and maintain logging code? I don't think so. If you do you will be outsourced! A lot of outsourcing shops are probably already using log4j.

Why do logging at all? Let's look at what Kernigan has to say about it:

As personal choice, we tend not to use debuggers beyond getting a stack trace or the value of a variable or two. One reason is that it is easy to get lost in details of complicated data structures and control flow; we find stepping through a program less productive than thinking harder and adding output statements and self-checking code at critical places. Clicking over statements takes longer than scanning the output of judiciously-placed displays. It takes less time to decide where to put print statements than to single-step to the critical section of code, even assuming we know where that is. More important, debugging statements stay with the program; debugging sessions are transient.

Kernigan, Brian and Pike, Rob. The Practice of Programming. Addison-Wesley, 1999.

Check out the log4j apache site.

Inserting log statements into your code is a low-tech method for debugging it. It may also be the only way because debuggers are not always available or applicable. This is often the case for distributed applications.

On the other hand, some people argue that log statements pollute source code and decrease legibility. (We believe that the contrary is true). In the Java language where a preprocessor is not available, log statements increase the size of the code and reduce its speed, even when logging is turned off. Given that a reasonably sized application may contain thousands of log statements, speed is of particular importance.

With log4j it is possible to enable logging at runtime without modifying the application binary. The log4j package is designed so that these statements can remain in shipped code without incurring a heavy performance cost. Logging behavior can be controlled by editing a configuration file, without touching the application binary.