<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<TITLE>Message</TITLE>

<META content="MSHTML 6.00.2715.400" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>Every so often, I 
buy an O'Reilly book on a lark, just to see if</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>the subject matter 
is interesting/is going to win/is fun to use/is</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>learnable in finite 
time.&nbsp; This year's book has been the Jabber</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>book.&nbsp; I've 
read it cover to cover, and needless to say, I've been</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>converted in a big 
way, and am now hacking together all manner</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>of crazy jabberware 
(those of you who know me from p5p or</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>from the Penguin 
module are now cowering in terror).&nbsp; However,</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>some 
issues:</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>1.&nbsp; There are a 
large number of states in the Jabber protocol --</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>messages can arrive 
asynchronously etc etc, but against production</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>jabber servers I can 
only find one moderately tortuous pathway to</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>getting logged 
in.&nbsp; Is there a master state chart which is the 
canonical</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>gospel for how 
Jabber works, or should I try to reverse engineer it from</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>jabberd, or is 
jabberd possibly out of compliance, or?</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>2.&nbsp; Having 
hacked at the high levels for a bit with the fine Perl 
modules,</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>I'm now looking into 
hacking at the socket-and-bits level.&nbsp; However, I'm</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2>encountering&nbsp;two problems with all the SAX, SAX2 or SAX-like parsers 
I</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>can find: first, 
because a packet that looks like</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>PACKET: &lt;this 
is="a" tag="hello world"&gt;packet&lt;/this&gt;</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>could be broken up 
in its travels across the net into</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>PACKET 
1:&lt;thi</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>PACKET 2:s is "a" 
tag="hello world"&gt;pa</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>PACKET 
3:cket</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>PACKET 
4:&lt;/this&gt;</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>...it's not at all 
clear when a good time to call parse() is.&nbsp; It looks like in 
order</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>to deal with XML 
streams, one would essentially have to pre-parse the XML</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>stream to find the 
closing tag's last character, bundle that up into a buffer 
and</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>parse that, and then 
start some more.&nbsp; Is that accurate?&nbsp; If not, where am I 
being</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>dumb?&nbsp; If so, 
isn't that annoyingly painful?</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>3.&nbsp; This is 
more a plaintive bleat than a question: why are there about 
ten</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial size=2>different 60% 
complete C/C++ libraries, dammit? :)</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2>F.</FONT></SPAN></DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=799552015-20052002><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV><CODE><FONT SIZE=3><BR>
<BR>
**********************************************************************<BR>
E-mail sent through the Internet is not secure.  Western Asset therefore<BR>
recommends that you do not send any confidential or sensitive information to<BR>
us via electronic mail, including social security numbers, account numbers,<BR>
or personal identification numbers.  Delivery, and or timely delivery of<BR>
Internet mail is not guaranteed.  Western Asset therefore recommends that<BR>
you do not send time sensitive or action-oriented messages to us via<BR>
electronic mail.<BR>
**********************************************************************<BR>
</FONT></CODE>
</BODY></HTML>