Axis 1.x payload debug

When using Axis to send data to a web service, you can set the logger level on org.apache.axis.transport.http.HTTPSender to DEBUG to see what’s going on. 

Anyway be careful: the system will produce a lot of logs, so use it only in developement mode! 

Here’s a sample in log4j.properties: 


log4j.logger.org.apache.axis.transport.http.HTTPSender=DEBUG
log4j.logger.org.apache.axis.client.Call=DEBUG
log4j.logger.org.apache.axis.client.AxisClient=DEBUG
log4j.logger.org.codehaus.xfire = DEBUG
 

The last line line is for xfire 

The axis Call object is used by the autogenerated stub, so it is userful when you are calling using them.

Another good option is to enable the apache http client tracing.

pyparsing review

This is the sad true: parsing is boring. And writing parser is even worst.

If you can choose a scripting language for parsing you can think to do it in perl.

For this way, take a big breath and go in the black sea  of perl's funny regexp. They are funny only if you have that special love for the regular expressions.

But if you are more confortable with python, pyparser is a better solution.

Pyparser is a library written in Python, for building parser described with a BNF (Backus-Naur Form).

O'Reilly has just published a "Short Cuts" e-book written by Paul McGuire; in less then 70 pages you get a very good insight of pyparser.

Even if you are new to python, the book is very easy to read.

And if you do not know nothing about parser and Backus & Naur, you will find an easy path to understand it. Parsing is a tricky topic because of the grammar theory behind it, but for all-day work, you can follow the McGuire introduction.

After some simple example, you'll dive into a small web page parser.

It is very amazing how you can do extraction from web pages without a complex Sax parser, and using only  a very compact grammar.

After this intro examples,  the manual take us to a more complex task: a lisp-like expression language parser called S-Expression.

This example is important because complex data structure are oftern recursive as S-Expression are.

The last chapter, "Search Engine in 100 Lines of Code", is a well-written example, and show us how to build a small search-engine-grammar.

 So this e-book is a "must" if you need to do even simple parsing and you… do not want to become crazy with too regular expressions :)

 

 

 

 

Celeste

Celeste

Celeste is a mail reading and organizing program. The name “Celeste” is a reference to an earlier mail reader named Baba, which was written at Xerox PARC by Steve Putz and John Maloney.

Nowadays, Celeste is maintained by Giovanni Giorgi (me).

Latest Feature

A new revision is planned for the end of September 2006, and code name will be “Sonic”.
Sonic will include a smart mailing-list filter and a better “leave message on server” option.
I implemented years ago an auto-filtering system in AppleScript.
The filtering engine used the
RFC2369 and some other tricks to detect yahoo mailing list.
Sonic will have also an auto-filter for google mailing list too.

The leave message on server option is quite bad now. It creates a lot
of duplicated messages.
The new implementation will avoid dowloading twice a message, using
a mix of messageId and timestamp to detect duplicated messages.

Version policy

I have found a misleading versions for celeste.
Celeste uses a “versionString” to mark a version in every sent email.
versionString labelled something like
2.currentChangeset.

As far as I started mantaining Celeste, we used a lower version (for example 1.23).

To avoid confusion I have started to renmbering all the stuff starting from revision 3.0.

Anyway, the version name is the first thing you should consider. I plan to do very few releases.

Celeste Auto Filter Capability (BETA)

Some busy users subscribe and unsubscribe to a lot of mailing list.
Managing them with filter is possibile, but can be done only by hand.
Worst, email programs tend to be very slow if a single folder is full of stuff,
and this can be true for Celeste too.

The Celeste Auto Filter option will enable a smart archiving system,
packing the email in seasons.
For instance “2006Q1-squeak-dev” will contain all the emails of squeak-dev of the first three month of 2006 (=the first quarter).

The Auto Filter will understand YahooGroups, Mailman and GoogleGroups mailing list, auto-dispatching them to the right category.
The filter will be enabled by default.

Downloads

You can find released versions on SqueakMap and development versions on SqueakSource.

Old resources: